一、java语法格式
1、main方法的作用:它是程序的入口,程序就是从主函数开始的,且main方法中的各个属性不能被改变。
2、java语言分隔符
;(分号):被用于语句之间的分隔
{}(花括号):被花括号括起的代码表示为一个代码块,是一个整体,花括号要一起使用
[](方括号):主要用于定义数组及访问数组时使用
()(圆括号):使用很广泛
.(圆点):一个类的对象访问它的方法或属性时使用
空格:分隔一条语句中的不同部分
3、注释的用法
注释:为了提高代码的可阅读性。
注释的分类:
单行注释://注释内容
多行注释:/*注释内容*/
文本注释:/** 文本内容*/,可以生成程序说明书;java特有注释;
二、java关键字和标识符
关键字:被Java语言赋予了特定含义的字符!这些词不能用于其他地方,改变其含义。
关键词分类:
标识符:为了增强阅读性的自定义名称,例如:类名、方法名、变量名等等
标识符的书写规则:
1、由字母、数字、下划线、$组成,不能以数字开头,注意:此处的字母还可以是中文,日文等
2、标识符大小写敏感
3、标识符不得使用java中的关键字和保留字
4、别用Java API里面的类名作为自己的类名
注意:一般开发时,会用有意义的英文单词作为标识符。
规范:
(1)类名 所有单词首母大小
YourGirlFriend
(2)函数名,变量名 除了第一个单词外其他单词首字母大写
money Making
playGame
isContinue
(3)常量名全大写 单词之间用_分开
MAX_VALUE
PI
三、java数据类型
Java语言定义了明确具体的数据类型,并对这些数据类型在内存中分配了不一样的内存空间。
整数默认:int 小数默认:double
1、boolean型
boolean类型通常用于逻辑运算和程序流程控制
boolean 类型数据只允许取值true 或 false
2、字符型(char)
char占2字节,的范围是[0,65535],但是前256个表示特殊字符;字符常量为用单引号引起来的单个字符。
例如:char c = 'A'; char c2 = '传'; char c3=97;
3、数据类型
byte、short、int、long这四个关键字都可以在内存中开辟出存放整型数据的空间。
byte开辟1个字节的空间,short开辟2个字节空间,int开辟4个字节空间,long开辟8个字节空间。
以int为例:4个字节,32位,一位有两种状态分别是“0”和“1”,那么它可以存储-232~232-1(减1是因为有0)大的数据,超过了就需要用到long型了。
Java语言整型常量的四种表示形式
二进制整数,0b或0B开头,如:int a = 0B110;
十进制整数,如:int a = 17;
八进制整数,要求以0开头,如 int a = 012;
十六进制整数,要求0X或0x开头,如int a = 0x12;
注意:Java语言的整型常量默认是int型,声明long型变量后加上‘l’或‘L’
4、浮点类型
double和float关键字在内存中开辟的空间可以存放小数。double开辟8个字节的空间,float开辟4个字节的空间。
Java浮点型常量默认是double,则要声明一个常量为float型,则需在常量后加上f 或F。
例如:double pi = 3.14;//正确
float pi = 3.14F; //必须加上f,或强转 float pi3 = (float)3.14;
5、String类型
String不属于基本数据类型,它属于引用数据类型,但和字符有一定的联系。String是一个类,表示字符串(后面详讲); 就是一串字符,也就是多个字符连接在一起;字符串都得使用 "" 括起来的;连接字符串使用 +
6、转义字符
用途:有部分符号在Java有特殊含义,当需要使用符号自身原有的意思时,这时可以通过转义字符表示。
例如:(1)键盘上的制表符tab键。可以使用 ‘\t’表示。
(2)双引号,在Java中使用双引号表示字符串,若想使用双引号本身含义,即可使用’\”’表示
7、字符编码表
从前面的介绍知道计算机中所有数据都是采用二进制表示的,怎么才能把生活中的这些字符转成二进制表示呢?
为了解决这个问题,专门制作了一张码表
例如:
‘A’-----> 65
‘B’----->66
‘a’------>97
‘b’------>97
...........
所以当把一个整型数据赋值给char类型数据时,计算机会查码表中这个整数所对应的字符是什么,然后将这个字符存放在char类型的空间中
char ch = 65 其实是将A存放在ch中
四、数据类型转换
1、隐式类型转换
当在存储整数数据时,Java中所有的整数默认都是int类型的。所以在将-128~127之间的数据存储在byte类型空间中时,JVM会把这个int类型的数据自动转换成byte类型,然后存放在byte空间中。其它同理。
只有在以下几种情况才会隐式类型转换(其他都要强制转换):
byte a=2+3;
short b=240;
char c=57; //需要查找码表,找57对应的字符。
注:大的数据无法往小的数据类型中隐式转换,只能通过强制转换,而且可能会造成数据损失,慎用。
整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则
容量小的类型可自动转换为容量大的数据类型(类型自动提升)
byte,short,char → int → long → float → double
byte,short,char之间不会相互转换,他们在计算时首先会转换为int类型
2、强制类型转换
容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度的降低或溢出,使用时要格外注意
浮点数据默认类型是double,所以在把3.14赋值给float类型的变量时需要强转或者加f。111L是long类型的数据。
五、逻辑运算符
用途:连接boolean型表达式
& 与
| 或
^ 异或
! 非
&& 短路与
|| 短路或
运算规律如下:
&:两边都为true才为true,否则为false
| :两边都为false,结果是false。否则为true。
^ : 异或,两边相同为false。两边不同为true。
!:非,非真即假,非假即真
“&”和“&&”的区别:单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理:双或时,左边为真,右边不参与运算
六、移位运算符
位运算:主要说的是二进制数位运算
1、& 按位与运算:相同的二进制数位上两者数值都为1,则与后该位结果为1,否则结果为0;
例:12 & 5 先把12、5以二进制表示,再进行按位与运算。
十进制 二进制
12 00000000_00000000_00000000_00001100
5 00000000_00000000_00000000_00000101
&: 00000000_00000000_00000000_00000100
所以12&5等于4;
释疑:有人可能会有疑问为什么前面有这么一长串0,因为整型默认是int,int整数是32位,为了严谨需要写够32位。
2、| 按位或运算:相同的二进制数位上,数值为0,结果为0,否则结果为1。
3、^ 按位异或运算:参与运算的两个数相应位相同则结果为0,不同则为1。
4、~ 按位取反运算:二进制数位上0变1,1变0;
5、知识扩展:还有>>(右移操作符)、<<(左移操作符)、>>>(无符号右移)由于使用较少,请自行网上了解。