java基础day02

1.算术运算符
1).+、-、*、/、%(做除法,取余数)
2).示例代码:
public class Demo02 {
public static void main(String[] args) {
int a = 10;
int b = 5;

			System.out.println(a + b);//15
			System.out.println(a - b);//5
			System.out.println(a * b);//50
			System.out.println(a / b);//2
			System.out.println(a % b);//0
		}
	}
3).其它说明:
	1).如果整数除法,如果不能整除,只取整数的"商"
			System.out.println(10 / 5);//2
			System.out.println(10 / 3);//3
			System.out.println(10.0 / 3);//3.333333333
			System.out.println(10 / 20);//0
			System.out.println(10 % 20);//10
			
			
	2).%表示:做除法,取余数:
			System.out.println(10 % 5);//0
			System.out.println(10 % 2);//0
			System.out.println(10 % 3);//1

	3).短整型(byte、short、char)在运算时,会自动提升为int:
			byte a = 10;
			byte b = 20;
			byte c = a + b;//编译错误,结果必须是int类型,需要写成:int c = a + b;
			类似于:a + b:表达式中有"变量"的,叫:变量表达式
			但:
			byte c = 10 + 20;//OK的,编译后就是:byte c = 30;
			类似于:10 + 20:表达式中没有"变量"的,都是"常量",叫:常量表达式。
			
	4).一个运算表达式中如果有多种类型,而且都大于int类型,结果必须是这个表达式中"最大的类型"
			byte a = 10;
			int b = 20;
			long c = 30;
			long result = a + b + c;
	5).字符类型的运算:
			char c = 'a';//底层存储的就是'a'字符的编码值:97
			int x = c + 2;
			System.out.println(x);//99
			System.out.println((char)x);//'c'
	6)."字符串"也可以使用"+"符号:做字符串连接
			String s = "呵呵";
			int n = 250;
			System.out.println(s + n);
			
			注意:字符串可以和"任何类型"做字符串拼接。
			
	7).如果是混合运算也是先乘除,后加减,可以使用()改变运算顺序
			System.out.println(10 + 20 / 5 - 20 * 2);
			System.out.println((10 + 20) / (5 - 20) * 2);

2.赋值运算符:
/*
赋值运算符:作用:更改变量的值的。
1).=:
int a = 10;//从右向左执行
int b = 2 + 5;//int b = 7;

	2).+=
	3).-=
	4).*=
	5)./=
	6).%=
 */
public class Demo03 {
	public static void main(String[] args) {
		//1.=
		int a = 10;

		int b = 2 + 5;

		int c = a + 20;


		//2.+=
		int x = 10;
		x += 20;//相当于:x = x + 20;

		//注意:
		byte b1 = 10;
//        b1 = b1 + 20;//编译错误,b1 + 20结果必须是int类型
		b1 += 20;//OK的,b1 = (byte)(b1 + 20);

		byte b2 = 10;
		b2 *= 2 + 5;//b2 = (byte)(b2 * (2 + 5));
		System.out.println("b2 = " + b2);
	}
}

3.自增、自减运算符:++、–,作用:更改变量的值,只增加/减少1
public class Demo04 {
public static void main(String[] args) {
int a = 10;
a++;//加1
++a;//再加1
System.out.println(a);//12
a–;//减1
–a;//再减1
System.out.println(a);//10

		//注意:如果表达式只做一件事——只自增/自减,++/--写在变量的前面或者后面都可以。
		//但是:如果表达式做多件事,++/--在变量的前面、后面会影响最终的结果。

		int m = 10;
		int n = m++;//1.先将m赋给n;2.将m自增1
		System.out.println(n);//10

		int x = 10;
		int y = ++x;//1.先将x自增1;2.将x的值赋给y
		System.out.println(y);//11
	}
}

============================================================================================================================
4.关系运算符(比较运算符):用做两个数的比较,结果是一个boolean类型(true/false)
/*
关系运算符(比较运算符)
1).>:大于
2).<:小于
3).>=:大于或者等于
4).<=:小于或者等于
5).==:是否相等
6).!=:是否不相等
*/
public class Demo05 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 10;

		System.out.println(a > b);//false
		System.out.println(a < b);//true
		System.out.println(a >= c);//true
		System.out.println(a <= c);//true
		System.out.println(a == c);//true
		System.out.println(a != c);//false

		char ch = 'a';
		System.out.println(ch > a);//true

		System.out.println(++ch == 'b');//true
	}
}

5.逻辑运算符:
1).&&:逻辑与,语义上"并且",左右两边都为true,结果才为:true。
2).||:逻辑或,语义上"或者",左右两边有一个为true,结果为:true。
3).!:逻辑非,语义上"不是…"

	public class Demo06 {
		public static void main(String[] args) {

			//1.&&:男孩子找女朋友:
			//要求:1).身高1.60以上,并且,年龄20以上
			Scanner sc = new Scanner(System.in);
			/*System.out.println("请输入女孩子的身高:");
			double height = sc.nextDouble();

			System.out.println("请输入女孩子的年龄:");
			int age = sc.nextInt();

			System.out.println(height >= 1.60 && age >= 20);
			*/
			//2.||,女孩子找男朋友
			//要求:1).身高:1.85以上,或者,月薪:20000以上
			System.out.println("请输入男孩子的身高:");
			double height = sc.nextDouble();
			System.out.println("请输入男孩子的月薪:");
			int salary = sc.nextInt();

			System.out.println("是否符合石趁心的意愿:" + (height >= 1.85 || salary >= 20000));

			
			//3.!,非
			System.out.println(!true);//false
			System.out.println(!false);//true
		}
	}
	
	//判断是否在某个范围。
	public class Demo06_2 {
		public static void main(String[] args) {
			int age = 28;

			//判断年龄:是否在20-25之间
			System.out.println(20 <= age && age <= 25);

			//判断年龄:是否不在20-25之间
			System.out.println(!(20 <= age && age <= 25));
			//或者
			System.out.println(age < 20 || age > 25);

		}
	}
	//&&和||的短路行为:
	public class demo06_3 {
		public static void main(String[] args) {
			int a = 10;
			int b = 20;
			//&&的短路:当左边为false,短路,不执行右边
			/*System.out.println(a > 20 && ++b == 20);//false
			System.out.println(b);//20*/

			//||的短路:当左边为true,短路,不执行右边
			System.out.println(a == 10 || ++b > 50);//true
			System.out.println(b);
		}
	}

========================================================================================================================
6.三元运算符:
布尔表达式 ? 返回值1 : 返回值2;

应用:计算两个整数的最大值

public class Demo07 {
	public static void main(String[] args) {
		int a = 100;
		int b = 200;

		int c = a > b ? a : b;
		System.out.println("最大值:" + c);

		String str = a > b ? "第一个数大":"第二个数大";
		System.out.println(str);
	}
}

========================================================================================================================
7.流程控制语句:
1).选择结构:
1).if语句(三种格式)
A).if(布尔表达式){
//如果"布尔表达式"为true,执行这里
}
=======================================================
/*
if语句格式1:一个判断一个选择
if(布尔表达式){
//如果"布尔表达式"为true,执行这里
}
*/
public class Demo08 {
public static void main(String[] args) {
//从控制台接收一个考试分数,程序要打印这个分数,
//然后要做一个"判断":如果分数是:100分,打印一句:满分哦,非常优秀!!
Scanner sc = new Scanner(System.in);
System.out.println(“请输入你的分数:”);
int score = sc.nextInt();

					//程序要打印这个分数
					System.out.println("你的分数是:" + score);

					//判断
					if (score == 100) {
						System.out.println("满分哦,非常优秀!!");
					}
				}
			}
		B).if(布尔表达式){
				//如果"布尔表达式"为true,执行这里
		   }else{
				//如果"布尔表达式"为false,执行这里
		   }
		   ======================================================================================
		   public class Demo09 {
				public static void main(String[] args) {
					int score = 40;

					if (score >= 60) {
						System.out.println("及格");
					}else{
						System.out.println("不及格!");
					}
				}
			}
		C).if(布尔表达式1){
				....
		   }else if(布尔表达式2){
				....
		   }else if(布尔表达式3){
				....
		   }else{
				//前面的所有布尔表达式全部为false,执行这里
		   }
		   =======================================================================================
		   public class Demo10 {
			public static void main(String[] args) {
				//从控制台接收一个考试分数:程序判断
				//1.90--100分:优秀
				//2.70-89分:良好
				//3.60-69分:及格
				//4.40-59分:不及格
				//5.0-39分:找家长

				Scanner sc = new Scanner(System.in);
				System.out.println("请输入考试分数:");
				int score = sc.nextInt();

				if (score >= 90 && score <= 100) {
					System.out.println("优秀!");
				} else if (score >= 70 && score <= 89) {
					System.out.println("良好");
				} else if (score >= 60 && score <= 69) {
					System.out.println("及格");
				} else if (score >= 40 && score <= 59) {
					System.out.println("不及格");
				} else if (score >= 0 && score <= 39) {
					System.out.println("找家长");
				}else{
					System.out.println("你的分数输入有误!");
				}

			}
		}

		
	2).switch语句:在某种情况下可以代替if语句:
					1).对一个变量的多个可能的值的"精确判断";【常用】
					2).对一个变量的多个可能的值的"小范围的判断(3个以内)”
					
		格式:
		switch(表达式){//结果必须是:byte、short、int、char、String、枚举类型
			case 值1:
				//代码:
				break;
			case 值2:
				//代码:
				break;
			case 值3:
				//代码:
				break;
			....
			default:
				//代码:
				break;
				
		}
		public class Demo11 {
			public static void main(String[] args) {
				//从控制台接收一个1-7的值,打印:星期一、星期二、...、星期日
				Scanner sc = new Scanner(System.in);
				System.out.println("请输入1-7的星期值:");
				int week = sc.nextInt();
				
				//用switch语句
				switch (week) {
					case 1:
						System.out.println("星期一");
						break;
					case 2:
						System.out.println("星期二");
						break;
					case 3:
						System.out.println("星期三");
						break;
					case 4:
						System.out.println("星期四");
						break;
					case 5:
						System.out.println("星期五");
						break;
					case 6:
						System.out.println("星期六");
						break;
					case 7:
						System.out.println("星期日");
						break;
					default:
						System.out.println("你的输入有误!");
						break;
				}
			}
		}
		//小范围的判断
		public class Demo11_2 {
			public static void main(String[] args) {
				//从控制台接收一个1-12的月份值,程序要能够打印:春季、夏季、秋季、冬季
				Scanner sc = new Scanner(System.in);
				System.out.println("请输入1-12的月份:");
				int month = sc.nextInt();
				//switch
				switch (month) {
					default:
							System.out.println("你的输入有误!");
							break;
					case 3:
					case 4:
					case 5:
						System.out.println("春季");
						break;
					case 12:
					case 1:
					case 2:
						System.out.println("冬季");
						break;
					
					
					case 9:
					case 10:
					case 11:
						System.out.println("秋季");
						break;
					case 6:
					case 7:
					case 8:
						System.out.println("夏季");
						break;
					
				}
			}
		}
		==========================================================================
		switch语句的注意事项:
			1.switch()括号里面必须是:byte、short、int、char、String、枚举
			2.case后面必须是"常量/常量表达式",不能是"变量/变量表达式"
			3.多个case之间没有"顺序关系"。
			4.多个case的值,不能有重复的。
			5.case语句和default语句,也没有顺序关系;
				int w = 20;
				switch(w){
					default:
						System.out.println("a");
					case 1:
						System.out.println("b");
					case 2:
						System.out.println("c");
						
				}
				打印:a b c
			6.目前我们判断字符串是否相等不要使用==,不好使,但可以使用switch:
				1).第一种方式:equals()方法:
					String op = sc.next();
					if(op.equals("+")){
						System.out.println("加");
					}
				2).第二种方法:switch语句
					public class Demo11_3 {
						public static void main(String[] args) {
							Scanner sc = new Scanner(System.in);

							System.out.println("请输入第一个数:");
							int n1 = sc.nextInt();
							System.out.println("请输入+、-、*、/运算符:");
							String op = sc.next();
							System.out.println("请输入第二个数:");
							int n2 = sc.nextInt();

							switch (op) {
								case "+":
									System.out.println(n1 + n2);
									break;
								case "-":
									System.out.println(n1 - n2);
									break;
								case "*":
									System.out.println(n1 * n2);
									break;
								case "/":
									System.out.println(n1 / n2);
									break;
								default:
									System.out.println("你的输入有误!");
							}
						}
					}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值