学习JavaDay02

Day02

运算符

作用

对数据进行运算

分类

算数运算符
逻辑运算符
赋值运算符
三目运算符(三元运算符)
位运算符(了解)

算数运算符

+:加法
-:减法
*:乘法
/:除法
	注意:
		不能为0
%:取余
++:自增
	++在前
		先自增在参与运算
	++在后
		先参与运算在自增
	建议:++单独写一行
--:递减
	--在前
		先递减,在参与运算
	--在后
		先参与运算,在递减
		
优先级:
	有括号先算括号中
	有乘除先算乘除
	从左向右依次运算
注意:可以给整形与浮点型使用

逻辑运算符

<:小于
<=:小于等于
>:大于
>=:大于等于
==:等于
	基本数据类型判断值是否相同
	引用数据类型判断内存地址是否相同
	(不能判断字符串内容是否相同)
!=:不等于
	基本数据类型判断值是否不相同
	引用数据类型判断内存地址是否不相同
	(不能判断字符串内容是否不相同)
&:与
	概念:同真为真,有假为假
&&:短路与
	概念:同真为真,有假为假
	效率比&高
	&&与&的区别
		&
			true & false & true & false ...
			逐个获取计算结果
		&&
			true & false & true & false ...
			遇到false直接结束
|:或
	概念:有真为真,全假为假
	
||:短路或
	概念:有真为真,全假为假
	效率比|高
	
!:非
	概念:非真为假,非假为真
	!true结果为false
	boolean b = false;
	!b结果为true

注意:
	最终结果只能是boolean型
	条件表达式:最终结果为boolean型的算数式都是条件表达式
	与,或,非不加括号最后运算

赋值运算符

=:赋值
	将等号右边的值赋值给左边的变量
+=:加等
	int a = 10;
	int b = 2;
	//a = a + b;
	a += b;
-=:减等
	int a = 10;
	int b = 2;
	//a = a - b;
	a -= b;
*=:乘等
	int a = 10;
	int b = 2;
	//a = a * b;
	a *= b;
/=
%=

注意:等号两边数据类型要相同

三目运算符

语法:
	条件表达式?值1:值2
逻辑:
	当条件表达式为true,取值1,当条件表达式为false,取值2
注意:
	值1与值2数据类型要相同
	可以使用变量
例子:
	根据年龄判断是否成年?
		int age = 18;
		String str = age >= 18?"成年人":"未成年";
练习:
	获取两个数的最大值
		int a = 10;
		int b = 20;
		System.out.println(a > b?a:b);
	获取三个数的最大值
		int a = 10;
		int b = 20;
		int c = 19;
		//int max = a > b ? a : b;
		//max = max > c ? max : c;
		//System.out.println(max);
		System.out.println((a > b ? a : b) > c ? (a > b ? a : b) : c);

位运算符(了解)

&
	int a = 3;
	int b = 2;
	int c = a&b;
	a		11
	b		10
	c		10		2
|
	int a = 3;
	int b = 2;
	int c = a|b;
	a		11
	b		10
	c		11		3
!
	int a = 3;
	!a
	a	11
	a	00		0
^
	int a = 3;
	int b = 2;
	int c = a^b;
	a		11
	b		10
	c		01		1
<<
	int a = 3;
	a << 2;
	a		11
	a		1100	12
>>
	int a = 3;
	a >> 2;
	a		11
	a		00		0

数据类型转换

小类型转换为大类型
	自动转换
	int num = 10;
	long l = num;
	注意:小类型与大类型运算,结果为大类型
		double d = 10 + 0.0;
大类型转换为小类型
	强制类型转换
	语法格式:小类型 变量名 = (小类型) 要转换的变量或数据;
	long l = 10l;
	int a = (int)l;
	
	int i = 128;
	byte b = (byte)i;
	注意:强制转换会导致数据丢失

练习:
	char c = 'a';
	int i3 = c;
小写字母对应的数字:97~122
大写字母对应的数字:65~90

进制转换(了解)

二进制:
	0,1,10,11,100,101,110...
八进制:
	0,1,2,3,4,5,6,7,10,11,12,13...
十进制:
	00,01,02,03,04,05,06,07,08,09,10
十六进制:
	0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,10,11

十进制转换二进制
	除2,余数倒读
十进制转换八进制
	除8,余数倒读
十进制转换十六进制
	除16,余数倒读
二进制转换为十进制
	例子:
	10100
	1*2^4+0*2^3+1*2^2+0*2^1+0*2^0
	16+0+4+0+0=20
	位所在的数*2^(位数-1)+位所在的数*2^(位数-1)+...
八进制转换为十进制
	例子:
		26
		2*8^1+6*8^0
		2*8+6*1
		16+6
		22
	位所在的数*8^(位数-1)+位所在的数*8^(位数-1)+...
十六进制转换为十进制
	例子:
		AF
		10*16^1+15*16^0
		160+15
		175
	位所在的数*16^(位数-1)+位所在的数*16^(位数-1)+...

字符串判断内容是否相同

语法:
	boolean 变量名 = 字符串1或字符串变量1.equals(字符串2或字符串变量2);
如:
	String str01 = "Hello";
	String str02 = "World";
	boolean b = str01.equals(str02);
	boolean b = "hello".equals(str02);
	boolean b = "hello".equals("world");
	boolean b = str01.equals("world");
	

字符串连接符

+
如:
	int i = 10;
	String str = "1";
	String str02 = i+str;
练习
	String str01 = 1 + 2 + "3";		结果:"33"
	String str02 = "1"+2+3;			结果:"123"

转意字符

概念:特殊含义的字符
\'				含义:'
\"				含义:"
\\				含义:\
\n				含义:换行
\t				含义:制表

键盘录入

原因:为了提高代码的趣味性
对应的类:Scanner
使用步骤:
	1,导包
		位置:类以外
		import java.util.Scanner;
	2,创建Scanner对象
		代码:
		Scanner 变量名1 = new Scanner(System.in);
	3,等待用户输入,并获取用户输入结果(可以重复使用多次)
		代码:
			让用户输入字符串
				String 变量名2 = 变量名1.next();
			让用户输入整数
				int 变量名2 = 变量名1.nextInt();
		注意:
			变量名2对应的内容就是用户输入的内容
			next或nextInt都会阻塞程序,直到用户输入

建议:相当固定语法记,当面向对象学习完成后就理解了

分支语句

Java中的语句分类

顺序语句
	特点:代码从上向下依次执行
分支语句
	特点:提供多个分支只能选择一个执行
循环语句
	特点:重复执行一段代码

软件作用

1,解决现实生活中的问题
2,虚拟一个世界

分支语句的作用

判断

分类

if
	特点:可以判断内容是否相同,也可以判断区间
swicth
	特点:只能判断值是否相同,效率稍微比if快
	注意:只能判断8个基本数据与String的数据是否值相等

if

简单的if结构
	语法:
		if(条件表达式){
			当条件表达式为true,执行此处代码
		}
if else结构
	语法:
		if(条件表达式){
			当条件表达式为true,执行此处代码
		}else{
			当条件表达式为false,执行此处代码
		}
else if结构
	语法:
		if(条件表达式1){
			当条件表达式1为true,执行此处代码
		}else if(条件表达式2){
			当条件表达式2为true,执行此处代码
		}else if(条件表达式3){
			当条件表达式3为true,执行此处代码
		}...
		else if(条件表达式n){
			当条件表达式n为true,执行此处代码
		}else{
			当以上条件都不为true时,执行此处代码
		}
总结
	if必须有
	else:可有可无,最多一个,必须在if的末尾
	else if:可有可无,可以有多个
	语法:
		语法:
		if(条件表达式1){
			当条件表达式1为true,执行此处代码
		}[else if(条件表达式2){
			当条件表达式2为true,执行此处代码
		}else if(条件表达式3){
			当条件表达式3为true,执行此处代码
		}...
		else if(条件表达式n){
			当条件表达式n为true,执行此处代码
		}else{
			当以上条件都不为true时,执行此处代码
		}]
	注意:[]中的内容可有可无
	
注意:if中可以使用if(if的嵌套)
案例:
	满200打8折,会员在打8折
	

switch

语法:
	switch(变量){
		case 值1:
			当变量的值等于常量1时,执行此处代码
		break;
		case 值2:
			当变量的值等于常量2时,执行此处代码
		break;
		...
		case 值n:
			当变量的值等于常量n时,执行此处代码
		break;
		default:
			当变量的值不等于以上常量时,执行此处代码
		break;
	}
break:跳出当前代码块
{}:代码块

案例:
	输入季节,判断应该穿的衣物
	春		卫衣
	夏		短袖
	秋		毛衣,秋裤
	冬		棉衣

作用域

变量声明的大括号,就是变量的作用域
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值