一、标识符和关键字
标识符在java语言中,用来标志类名、对象名、变量名、方法名、类型名、数组名、包名的有效字符序列,称为“标识符”;标识符由字母、数字、下划线、美元符号组成,且第一个字符不能是数字;java语言区分大小写;标志符命名规则:类名首字母大写,变量名和方法名采用驼峰标志法,常量全大写,多个单词之间用“_”隔开,包名全小写;关键字在java语言中,有一些专门的词汇已经被赋予了特殊的含义,不能再使用这些词汇来命名标识符,这些专有词汇,称为“关键字”;java有50个关键字和3个保留字,均不能用来命名标识符;abstract assert boolean break byte case catch charclass const continue default do double else enumextends final finally float for goto if implementsimport instanceof int interface long native new packageprivate protected public return short static strictfp superswitch synchronized this throw throws transient try voidvolatile while true、false、null不是关键字,是保留字,但是仍不能用来命名标识符,保留字是java预留的关键字,在以后的升级版本中可能会作为关键字;二、基本数据类型 1. 整数类型(int为默认类型) 2. 浮点类型(double为默认类型) 在给float类型的变量赋值时,如果赋的值有小数部分则一定要在末尾加上“F”或“f”; 3. 字符类型(2字节)char ch = ‘a’;有些字符不能通过键盘输入到程序当中,这时就需要使用到转义字符;4. 布尔类型(1字节)boolean flag = true;5. 默认值数值变量:0;字符变量:‘\0’;布尔变量:false;引用数据类型:null;6. 不同数据类型之间的转换自动类型转换(低 到 高)强制类型转换(高 到 低)复制代码public class Test003 { public static void main(String[] args) { byte b = 100; int i = 22; float f = 78.98f; int res = b + i + (int)f; //此处对f使用了强制类型转换(int)f,转换后的值为78 System.out.println("res: "+res); //res: 200 }}复制代码三、运算符与表达式 1. 算术运算符复制代码public class Test003 { public static void main(String[] args) { int i = 5; System.out.println(0/i); //0 System.out.println(0%i); //0 System.out.println(i/0); //除数不能为零,报异常java.lang.ArithmeticException System.out.println(i%0); //除数不能为零,报异常java.lang.ArithmeticException }}复制代码 2. 赋值运算符 3. 自增自减运算符(++,–)复制代码public class Test003 { public static void main(String[] args) { int i = 5; System.out.println(i++); //5 System.out.println(++i); //7 System.out.println(i); //7 System.out.println(–i); //6 System.out.println(i–); //6 System.out.println(i); //5 }}复制代码 4. 关系运算符 5. 逻辑运算符复制代码public class Test003 { public static void main(String[] args) { boolean t = true; boolean f = false; System.out.println(t && f); //false,短路与运算符,若运算符左侧为false则不计算右侧的表达式 System.out.println(t || f); //true,短路或运算符,若运算符左侧为true则不计算右侧的表达式 System.out.println(t & f); //false,与运算符,不管左侧是否为false都要计算右侧的表达式 System.out.println(t | f); //true,或运算符,不管左侧是否为true都要计算右侧的表达式 System.out.println(t ^ f); //true,异或运算符,只要左右两侧不相同则为true,反之为false System.out.println(!f); //true,取反运算符 }}复制代码 6. 位运算符复制代码public class Test003 { public static void main(String[] args) { //在位运算符中1相当于true,0相当于false int b1 = 6; //二进制为00000000 00000000 00000000 00000110 int b2 = 11; //二进制为00000000 00000000 00000000 00001011 System.out.println(b1 & b2); //按位与运算符,二进制为00000000 00000000 00000000 00000010,结果为2 System.out.println(b1 | b2); //按位或运算符,二进制为00000000 00000000 00000000 00001111,结果为15 System.out.println(b1 ^ b2); //按位异或运算符,二进制为00000000 00000000 00000000 00001101,结果为13 System.out.println(~b1); //按位取反运算符,二进制为11111111 11111111 11111111 11111001,结果为-7 System.out.println(b1 << 2); //左移位运算符,二进制为00000000 00000000 00000000 00011000,结果为24 int b3 = -14; //二进制为11111111 11111111 11111111 11110010 System.out.println(b3 >> 2); //带符号右移位运算符,二进制为11111111 11111111 11111111 11111100,结果为-4 System.out.println(b3 >>> 2); //无符号右移位运算符,二进制为00111111 11111111 11111111 11111100,结果为1073741820 }}复制代码 7. 三元运算符复制代码public class Test003 { public static void main(String[] args) { int a = 1; int b = 2; int c = 4; int res = c==a+b?++a:c>a+b?++b:++c; //三元运算符 (表达式)?(值1):(值2),若表达式为true则取值1,反之取值2 System.out.println(res); //++b,结果为3 }}复制代码 8. 运算符优先级
Java语言基本语法
最新推荐文章于 2024-09-17 23:13:35 发布