Day03Java上课笔记

1.Java语言基础(逻辑运算符的基本用法)

1. 逻辑运算符:
	&(并且),|(或者),!(非),^(异或),&&(短路与),||(短路或)
	注意事项:
	(1)逻辑运算符一般用于连接boolean类型的表达式或者值。
	在Java中我们要表示一个数大于3并且小于6,不可以写成3<x<6,应该写成x>3 & x<6。
	(2)表达式:就是用运算符把常量或者变量连接起来的符合Java语法的式子。
	算数表达式:a + b
	关系表达式:a == b
2. 结论:
	(1)& 逻辑与:有false则false。
	(2)| 逻辑或:有true则true。
	(3)^ 逻辑异或:相同为false,不同为true。
		举例:情侣关系。男女,女男
	(4)!逻辑非:非false则true,非true则false。
		特点:偶数个不改变本身。

2.Java语言基础(逻辑运算符&&和&的区别)

1. &&和&的区别?
	(1)最终结果一样。
	(2)&&具有短路效果。左边是false,右边不执行。
2. 同理||和|的区别?
	(1)相同点:当&与&&同为逻辑运算符时,它们都用于连接两个Boolean类型的表达式,当&和&&的两端表达式同时为真时,表达式的结果为真,只要有一端为假,那么表达式结果为假。从用法上来看,&和&&并没有什么区别。
	(2)不同点:&无论左边结果是什么,右边还是继续运算。&&当左边为假,右边就不在进行运算,但是两者的结果是一样的。
	(3)注意:两个运算符的用法相同,但是,当在判断这个表达式的真或假的时候,两者的判断次数不同。
	例如,在判断2>6&2>1的时候,先判断2>6值的真假,然后在判断2>1的真假,所以最后的结果是假&真,为假。
	在判断2>6&&2>1的时候,计算机会先判断2>6值的真假,因为这个表达式的结果为假,之后计算机就不会再进行判断,所以这个表达式的结果为假。
3. 开发中常用:&&,||,!

3.Java语言基础(位运算符的基本用法1)

1. 位运算符:
	&(与),|(或),^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)
	注意:位运算是直接对二进制补码进行运算。运算效率高一些
2. &,|,^,~ 的用法
	结论:
		(1)&:有0则0
		(2)|:有1则1
		(3)^:相同则0,不同则1
		(4)~:按位取反  0变1 1变0  符号位也包含在内取反

4.Java语言基础(位异或运算符的特点)

一个数据被另一个数据位异或两次,该数本身不变,自己位异或自己是0,例如,8^8的结果是0。

5.Java语言基础(位运算符的基本用法2)

1. (1)<<:左移			空位补0,被移除的高位丢弃。
	(2)>>:右移			被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,高位补1。
	(3)>>>:无符号右移	被移位二进制最高位无论是0或者是1,空缺位都用0补。
2. 结论:
	(1)<< : 把<<左边的数据乘以2的移动次幂   例如 10<<3    结果 10*2^3=80
	(2)>> : 把>>左边的数据除以2的移动次幂   例如 40>>3     结果 40/2^3=5

6.Java语言基础(三元运算符的基本用法)

1. 三元(三目)运算符的格式
	(关系表达式) ? 表达式1 : 表达式2;
	int a=(10>20)?30:50; a=50
2. 三元运算符的执行流程
	计算关系表达式的值,如果为true, 运算后的结果是表达式1; 如果为false,运算后的结果是表达式2;

7.Java语言基础(键盘录入的基本格式讲解)

1. 为什么要使用键盘录入数据
	(1)为了让程序的数据更符合开发的数据
	(2)让程序更灵活
2. 实现键盘录入的格式:
	(1)导包
			a. 格式:
						import java.util.Scanner; 
			b.位置:
						在class上面
	(2)创建键盘录入对象
			格式:
					Scanner sc = new Scanner(System.in);
	(3)通过对象获取数据
			格式:
					int x = sc.nextInt();

8.Java语言基础(顺序结构语句)

1. 什么是流程控制语句
	在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能
2. 流程控制语句的分类
	顺序结构
	选择结构
	循环结构
3. 顺序结构
	是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。总的来说:写在前面的先执行,写在后面的后执行
4. 执行流程:
	从上往下,依次执行。

9.Java语言基础(选择结构if语句格式1及其使用)

1. 概述:也被称为分支结构。
	选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
2. 选择结构的分类
(1)if语句
(2)switch语句
3. if语句的格式1
	if(比较表达式或者是boolean类型的值){
		语句体;
}
4. 执行流程:
	(1)先计算比较表达式的值,看其返回值是true还是false;
	(2)如果是true,就执行语句体;
	(3)如果是false,就不执行语句体;

10.Java语言基础(选择结构if语句的注意事项)

1. 比较表达式无论是简单还是复杂,结果必须是boolean类型;
2. if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。这里建议永远不要省略。
3. 一般来说,有左大括号就没有分号,有分号就没有左大括号。

11.Java语言基础(选择结构if语句格式2及其使用)

1.if语句的格式2:
	if(比较表达式){
		语句体1;
}else{
		语句体2;
}
注意事项:else后面是没有比较表达式的,只有if后面有。
2. 执行流程:
	(1)首先计算比较表达式的值,看其返回值是true还是false。
	(2)如果是true,就执行语句体1;
	(3)如果是false,就执行语句体2;

12.Java语言基础(if语句的格式2和三元的相互转换问题)

1. 三元运算符实现的,都可以采用if语句实现。反之不成立。
2. 什么时候if语句实现不能用三元改进呢?为什么呢?
	当if语句控制的操作是一个输出语句的时候就不能。因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

13.Java语言基础(选择结构if语句格式3及其使用)

1. if语句的格式3:
	if(比较表达式1) {
		语句体1;
	}else if(比较表达式2) {
		语句体2;
	}else if(比较表达式3) {
		语句体3;
	}
	...
	else {
		语句体n+1;
	}
2. 执行流程:
	(1)首先计算比较表达式1看其返回值是true还是false;
	(2)如果是true,就执行语句体1,if语句结束。
	(3)如果是false,接着计算比较表达式2看其返回值是true还是false,如果是true,就执行语句体2,if语句结束。如果是false,接着计算比较表达式3看其返回值是true还是false,
	...
	如果都是false,就执行语句体n+1。
3. 注意事项: 当只要有一个条件满足时,if语句结束。else是可以省略,但是不建议省略。

14.Java语言基础(选择结构switch语句的格式及其解释)

1. switch语句的格式
	switch(表达式){
		case 值1:
			语句体1;
			break;
		case 值2:
			语句体2;
			break;
		case 值3:
			语句体3;
			break;
		....
		default:	
			语句体n+1;
			break;
	}
2. switch语句的格式解释
	(1):switch表示这是switch语句
		表达式的取值:byte,short,int,char
		JDK5以后可以是枚举(什么是枚举,以后再讲)
		JDK7以后可以是String
	(2):case后面跟的是要和表达式进行比较的值,要的是常量值
	(3):语句体部分可以是一条或多条语句
	(4):break表示中断,结束的意思,可以结束switch语句
	(5):default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似
3. byte可以作为switch的表达式吗?
	long可以作为switch的表达式吗?
	String可以作为switch的表达式吗?JDK1.7
	答:String 类型可以 ,在 switch( expr1)中, expr1 只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是 int,基本类型或 Integer 包装类型,由于, byte,short,char 都可以隐含转换为 int,所以,这些类型以及这些类型的包装类型也是可以的。显然, long 和并且不能被隐式转换成 int类型,所以,它们不能作用于 swtich 语句中。
4. 执行流程
	(1)先计算表达式的值
	(2)然后和case后面的匹配,如果匹配成功就执行对应的语句,遇到break就会结束,否则执行default控制的语句

15.Java语言基础(选择结构switch语句的注意事项)

1. case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的值
2. default可以省略吗?
		可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
3. break可以省略吗?
		可以省略,但是结果可能不是我们想要的。但是会出现一个现象:case穿透。所以我们建议不要省略。
3. default一定要在最后吗?
		不是,可以在任意位置。但是建议在最后。
4. switch语句的结束条件
	(1)遇到break就结束了
	(2)执行到末尾就结束了

16.Java语言基础(选择结构if语句和switch语句的区别)

在做判断的时候,我们有两种选择,if语句和switch语句,那么,我们到底该如何选择使用那种语句呢?
	(1)if语句使用场景:
		针对结果是boolean类型的判断
		针对一个范围的判断
		针对几个常量值的判断
	(2)switch语句使用场景:
		针对几个常量值的判断
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值