| 
 
| 1:常量(理解) (1)在程序的运行过程中,其值是不可以发生改变的量。
 (2)常量的分类:
 1:字面值常量
 1:整数常量
 12,-23
 2:实数常量
 12.5,-65.43
 3:字符常量
 'a','A','0'
 4:字符串常量
 "hello"
 5:布尔常量
 true,false
 6:空常量(后面讲)
 null
 2:自定义常量(后面讲)
 (3)常量可以直接被输出。
 2:进制(理解)
 (1)是一种进位的方式。X进制,表示逢x进1。
 (2)Java中整数常量的表示
 1:二进制 由0,1组成。以0b开头。JDK7以后的新特性。
 2:八进制 由0-7组成。以0开头。
 3:十进制 由0-9组成。默认就是十进制。
 4:十六进制 由0-9,A-F(不区分大小写)组成,以0x开头。
 (3)进制转换:
 1:其他进制到十进制
 系数:就是每一位上的数据。
 基数:X进制,基数就是X。
 权:在右边,从0开始编号,对应位上的编号即为该位的权。
 结果:把系数*基数的权次幂相加即可。
 
 二进制:1011
 十进制:
 八进制:74
 十进制:
 十六进制:a3
 十进制:
 2:十进制到其他进制
 除基取余,直到商为0,余数反转。
 十进制:60
 结果:
 二进制
 八进制
 十六进制
 3:快速转换
 1:8421码。
 2:二进制--八进制(3位组合)
 3:二进制--十六进制(4位组合)
 3:变量(掌握)
 (1)程序的运行过程中,在指定范围内发生改变的量。
 (2)格式:
 数据类型 变量名 = 初始化值;
 变形格式:
 数据类型 变量名;
 变量名 = 初始化值;
 举例:
 方式1: byte b = 10;
 方式2: byte b;
 b = 10;
 4:数据类型(掌握)
 (1)分类
 基本类型:4类8种。
 引用类型:类,接口,数组。(了解)
 (2)基本类型
 整型:
 byte 1
 short 2
 int 4
 long 8
 浮点型:
 float 4
 double 8
 字符型:
 char 2
 布尔型:
 boolean 不明确。可以认为是1个字节。
 
 注意:
 整数默认是int类型。long类型需要加L或者l后缀。
 浮点数默认是double类型。float类型需要加F或者f后缀。
 (3)类型转换
 1:boolean类型不参与转换。
 2:隐式转换(从小到大)
 byte,short,char -- int -- long -- float -- double
 3:强制转换(从大到小)
 格式:
 (数据类型)数据;
 (4)面试题
 byte b1 = 3;
 byte b2 = 4;
 byte b3 = b1 + b2;
 byte b4 = 3 + 4;
 5:运算符(掌握)
 (1)就是把常量和变量连接的符号,一般参与运算使用。
 (2)分类:
 算术运算符
 赋值运算符
 关系运算符
 逻辑运算符
 位运算符
 三元运算符
 (3)算术运算符
 +,-,*,/,%,++,--
 +:正号,加法,字符串连接符。
 System.out.println("5+5="+5+5);//5+5=55
 System.out.println(5+5+"=5+5");//10=5+5
 %:取得余数
 左边如果大于右边,结果是余数。
 左边如果小于右边,结果是左边。
 左边如果等于右边,结果是0。
 正负号跟左边一致。
 ++/--:
 ++ 其实相当于把数据+1
 单独使用:
 在数据的前后,结果一致。
 
 参与操作使用:
 如果在数据的后边,数据先操作,在++/--
 如果在数据的前边,数据先++/--,在操作。
 (4)赋值运算符
 =,+=,-=,*=,/=,%=
 int a = 10;
 把10赋值给int类型的变量a。
 a += 20;
 把左边和右边的和赋值给左边。
 注意事项:
 a = a + 20;
 a += 20;
 结果是等价的,理解不是等价的。
 因为+=这种运算符,内含了强制类型转换功能。
 比如:
 short s = 2;
 s+=3;
 等价于
 s = (short)
 (5)关系运算符
 ==,!=,>,>=,<,<=
 特点:关系运算符的结果都是boolean类型。
 请千万注意:== 不要写成 =
 (6)逻辑运算符
 &,|,!,^,&&,||
 
 &:有false则false
 |:有true则true
 !:true变false,false变true
 ^:相同false,不同true
 &&:有false则false
 ||:有true则true
 &&和&的区别是:如果左边有false了,右边将不再执行。
 ||和|的区别是:如果左边有true了,右边将不再执行。
 开发中常用:
 &&,||,!(s+3);
 
 
 1:运算符(掌握)
 (1)位运算符(了解)
 ^ : 一个数据对同一个数据^两次,结果还是数据本身。
 举例:a ^ b ^ b = a
 (2)条件运算符
 格式:
 条件表达式?表达式1:表达式2
 执行流程:
 根据条件表达式返回的是true还是false,决定结果是什么。
 如果是true,就把表达式1作为结果。
 如果是false,就把表达式2作为结果。
 举例:
 int a = 100;
 int b = a > 50 ? 200 : 100;
 请问b的值?200
 2:面试题(理解)
 (1)请用最有效率的代码写出2乘以8
 2<<3
 (2)请交换两个变量。
 int a = 10;
 int b = 20;
 开发:临时变量
 int temp = a;
 a = b;
 b = temp;
 面试:位^运算符
 a = a ^ b;
 b = a ^ b;
 a = a ^ b;
 3:if语句(掌握)
 (1)用于做判断使用的。
 常见于对某个范围进行判断,或者几个变量进行判断,还有就是boolean表达式的判断。
 (2)格式:
 A:第一种格式
 if(条件表达式)
 {
 语句体;
 }
 执行流程:
 如果条件表达式为true,就执行语句体;
 否则,什么都不执行。
 B:第二种格式
 if(条件表达式)
 {
 语句体1;
 }
 else
 {
 语句体2;
 }
 执行流程:
 如果条件表达式为true,就执行语句体1;
 否则,就执行语句体2;
 特殊:
 可以和条件表达式在某些情况下进行替换。
 一般是在赋值的情况下可以。
 举例:
 获取两个数中的最大值。
 C:第三种格式
 if(条件表达式1)
 {
 语句体1;
 }
 else if(条件表达式2)
 {
 语句体2;
 }
 ...
 else
 {
 语句体n;
 }
 执行流程:
 如果条件表达式1为true,就执行语句体1;
 如果条件表达式2为true,就执行语句体2;
 ...
 否则,就执行语句体n;
 
 D:注意事项
 a:什么时候时候哪一种if语句。
 第一种格式在判断条件为一种情况下使用。
 第二种格式在判断条件为两种情况下使用。
 第三种格式在判断条件为多种情况下使用。
 b:每一种if语句其实都是一个整体,如果有地方执行了,
 其他的就不执行了。
 c:如果if或者else里面控制的语句体是一条语句,是可以省略大括号的,
 但是,如果是控制多条语句,就必须写上大括号。
 建议:永远写上大括号。
 d:大括号和分号一般不同时出现。
 E:作用域
 所有变量的定义只在它所属的大括号内有效。
 (3)案例:
 A:根据键盘录入的成绩,判断等级。
 B:根据键盘录入的月份,输出该月份所对应的季节。
 4:switch语句(掌握)
 (1)用于做选择使用的。一般用于几个常量的判断。
 switch会把几个常量值直接加载到内存,在判断的时候,效率要比if高。
 所以,针对几个常量的判断,一般选择switch语句。
 (2)switch语句的格式:
 switch(表达式)
 {
 case 值1:
 语句体1;
 break;
 case 值2:
 语句体2;
 break;
 case 值3:
 语句体3;
 break;
 ...
 default:
 语句体n;
 break;
 }
 A:针对格式的解释
 switch:表示这里使用的是switch语句,后面跟的是选项。
 表达式:byte,short,int,char
 JDK5以后可以是枚举(以后讲)
 JDK7以后可以是字符串(后面讲)
 case:表示这里就是选项的值,它后面的值将来和表达式的值进行匹配。
 case后面的值是不能够重复的。
 break:
 switch语句执行到这里,就结束了。
 default:
 当所有的case和表达式都不匹配的时候,就走default的内容。
 它相当于if语句的else。一般不建议省略。
 B:执行流程
 进入switch语句后,就会根据表达式的值去找对应的case值。
 如果最终没有找到,那么,就执行default的内容。
 
 C:注意事项:
 a:default整体可以省略吗?
 可以,但是不建议。
 b:default的位置可以放到前面吗?
 可以,但是不建议。
 c:break可以省略吗?
 可以,但是不建议。
 default在最后,break是可以省略的。
 case后面的break可以省略,但是结果可能有问题。
 d:switch语句什么时候结束呢?
 就是遇到break或者执行到程序的末尾。
 (3)案例:
 A:根据键盘录入的日期(1-7),输出对应的星期日期。
 B:根据键盘录入的月份,输出该月份所对应的季节。(选做)
 5:Scanner的使用(掌握)
 (1)Scanner是JDK5以后设计的用来接收键盘录入数据使用的。
 (2)目前我们要通过键盘录入int类型数据,必须按照如下步骤:
 A:导包
 import java.util.Scanner;
 B:创建对象,封装键盘录入
 Scanner sc = new Scanner(System.in);
 C:调用方法,获取数据
 int number = sc.nextInt();
 
 
 | 
 |