- 标识符
- 关键字
- 注释
- PS: eclipse中新建类添加作者与时间信息
- 变量
- 练习:查看基本类型的最大值与最小值
- 基本类型的类型转换
- 小到大,直接转 大到小,强制转 浮变整,小数没
- 进制前缀
- 运算规则(5条)
- ASCII编码表
- 运算符
- 分支结构
- switch结构
- 循环结构
给Java代码中的元素起的名称,包括类名、方法名、字段名、变量名等被称为标识符,标识符需要遵循以下规则:
- 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,代码中的命名严禁使用拼音与英文混合的方式,不允许直接使用中文。
- 不能以数字开头,不能以下划线或美元符号开始或结束。如:123name、 _ name、name_、 $ name、name $ 就是不合法
- 标识符严格区分大小写。如: tmooc 和 tMooc 是两个不同的标识符
- 标识符的命名最好能反映出其作用,做到见名知意。
- 标识符不能是Java的关键字
- 除了关键字以外,true,false,null也不可以被用作标识符~
关键字指Java中一些被赋予了特定的意义的单词,一共有50个都是全小写,其中有两个保留字:const和goto。
Java的注释有3种:
-
单行注释: 注释单行内容.
格式: 每行都以”//”开头.
快捷方式: Ctrl+/ 添加注释,同样的快捷键,再按一次取消注释 -
多行注释:注释多行内容,虽然叫多行注释,也可注释单行内容.
格式: 以” public class TestTypeScope { //1.创建程序的入口函数 public static void main(String[] args) { //2.定义对应类型的变量:格式:类型 名字 = 值 ; byte byteMin = Byte.MIN_VALUE; byte byteMax = Byte.MAX_VALUE; System.out.println("byte类型的最小值为:" + byteMin); System.out.println("byte类型的最大值为:" + byteMax); short shortMin = Short.MIN_VALUE; short shortMax = Short.MAX_VALUE; System.out.println("short类型的最小值为:" + shortMin); System.out.println("short类型的最大值为:" + shortMax); int intMin = Integer.MIN_VALUE; int intMax = Integer.MAX_VALUE; System.out.println("int类型的最小值为:" + intMin); System.out.println("int类型的最大值为:" + intMax); long longMin = Long.MIN_VALUE; long longMax = Long.MAX_VALUE; System.out.println("long类型的最小值为:" + longMin); System.out.println("long类型的最大值为:" + longMax); float floatMin = Float.MIN_VALUE; float floatMax = Float.MAX_VALUE; System.out.println("float类型的最小值为:" + floatMin); System.out.println("float类型的最大值为:" + floatMax); double doubleMin = Double.MIN_VALUE; double doubleMax = Double.MAX_VALUE; System.out.println("double类型的最小值为:"+ doubleMin); System.out.println("double类型的最大值为:"+ doubleMax); boolean b1 = true; boolean b2 = false; char c1 = 'a';//字符型可以保存一个字母 char c2 = '中';//字符型还可以保存一个汉字 char c3 = '7';//字符型可以保存一个字符7 char c4 = 97;//字符型可以保存数字,但是会查ASCII,打印的是字符a char c5 = 55;//字符型可以保存数字,但是会查ASCII,打印的是字符7 char c6 = 199; System.out.println(c1); System.out.println(c2); System.out.println(c3); System.out.println(c4); System.out.println(c5); System.out.println(c6); System.out.println("请您输入要求的半径值:"); double r ; r = new Scanner(System.in).nextDouble(); System.out.println(r); } } 基本类型的类型转换转换过程中可能导致溢出或损失精度
小到大,直接转 大到小,强制转 浮变整,小数没
例如:int i =128; byte b = (byte)i; //打印的结果是-128
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
例如:float f = 32.7f; int a2 =(int) f; //打印的结果是32
不能对boolean类型进行类型转换。1.转换过程中可能导致溢出或损失精度
进制前缀
例如:int i =128; byte b = (byte)i; //打印的结果是-128
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
2.浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
例如:float f = 32.7f; int a2 =(int) f; //打印的结果是32
3.不能对boolean类型进行类型转换。0b - 标识这是2进制 ,如:0b0101
运算规则(5条)
0 - 标识这是8进制, 8进制是三位,如: 023
0x - 标识这是16进制,如: 0x00011.计算结果的数据类型,与最大数据类型一致:
ASCII编码表
System.out.println(3/2);//1
System.out.println(3/2d);//1.5
2.byte,short,char三种比int小的整数,运算时会先自动转换成int:
byte a = 1;
byte b = 2;
byte c = (byte)(a+b);
3.整数运算溢出:
System.out.println(300000000L * 60 * 60 * 24 * 365);//结果为9460800000000000
System.out.println(300000000 * 60 * 60 * 24 * 365);//结果为659193856
4.浮点数运算不精确:
System.out.println(1-0.8);//
5.浮点数的特殊值
System.out.println(3.14/0);//Infinity
System.out.println(0.00/0);//NaNASCIi(American Standard Code for Information Interchange)编码表,美国标准信息交换代码。
运算符
中国 gb2312【字少】
gbk【识别4万+汉字】
万国码表unicode【ISO制定】
所有码表都兼容ASCIIjava中,运算符可分为5种类型:
算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符。
根据操作数的不同,运算符又分为单目运算符、双目运算符和三目运算符。
单目运算符只有一个操作数,双目运算符有两个操作数,三目运算符则有三个操作数。
位运算符涉及到二进制位的运算,在java 程序中运用不是很多。
逻辑运算符连接两个关系表达式或布尔变量,用于解决多个关系表达式的组合判断问题
注意逻辑运算符返回的运算结果为布尔类型
通常,我们用0表示false,用1表示true:
System.out.println(1|0);//1
System.out.println(1&0);//0练习:获取一个三位数159的百位、十位与个位 int y = 159; System.out.println(y / 100);//打印百位 System.out.println(y / 10 % 10);//打印十位 System.out.println(y % 10);//打印个位 测试自增自减运算符 System.out.println(c);//0 System.out.println(--c-c-c--);//1,-1-(-1)-(-1)=1 System.out.println(c);//-2,经历了两次自减,所以0-2=-2
分支结构 switch结构1.变量a的类型byte short char int String
2.变量a的值依次与case后的值做比较,如果不加break,会向后穿透所有case,包括default
3.每个case值的数据类型必须与变量的数据类型一致
4.如果设置了default“保底选项”,并且没有任何case匹配到的话,就执行default
5.break与default是可选项,根据具体业务来决定加不加package cn.tedu.basic; public class TestSwitch { //1.创建程序的入口函数main public static void main(String[] args) { //2.定义一个变量 int a = 19; //3.完成switch结构的测试 switch(a) { case 1 : System.out.println(1);break; case 2 : System.out.println(2);break; case 3 : System.out.println(3);break; case 4 : System.out.println(4);break; case 5 : System.out.println(5);break; default : System.out.println(0); } String day = "星期五"; switch(day) { case "星期一" : System.out.println("星期一吃四川火锅");break; case "星期二" : System.out.println("星期二吃齐齐哈尔烤肉");break; case "星期三" : System.out.println("星期三吃新疆羊肉串");break; case "星期四" : System.out.println("星期四吃阳澄湖大闸蟹");break; case "星期五" : System.out.println("星期五吃兰州拉面");break; case "星期六" : System.out.println("星期六吃南昌拌粉");break; case "星期日" : System.out.println("星期日吃武汉藕汤");break; default : System.out.println("想吃点啥吃点啥吧~"); } }循环结构//需求:打印8,88,888,8888, for(int i =8 ; i <= 8888 ; i=i*10+8) { System.out.print(i+",");//使用的是print(),打印后不换行 }



