实训二 第二天

本文深入探讨了Java语言的基础语法,包括转义字符、运算符的详细分类与使用,如算术、赋值、关系、逻辑、位运算符等,以及字符串连接、三目运算符的应用。通过实例演示了if、switch条件语句的结构与规则,帮助读者掌握Java编程的核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实训二  第二天

1,转义字符

\n 换行   \r 回车  \t 水平制表  \ '  ' 单引号   \" 双引号   \\  斜杆

2, 运算符

 运算符包括:算术,赋值,关系,逻辑,位,移位,连接,三目等运算符
算术运算符:+ 、 - 、 * 、 / 、 % 、 ++ 、 -赋值运算符:= 、 += 、 -= 、 *= 、 /= 、 %= 关系运算符:> 、 < 、 >= 、 <= 、 == 、 != 逻辑运算符:! 、 & 、 | 、 ^ 、 && 、 || 位运算符:& 、 | 、 ^ 、 ~ 、 >> 、 << 、 >>> 字符串连接运算符:+

算术运算符

++:如果是前缀:先对此变量加 1,再执行其他的操作。 如果是后缀:先执行其他的操作,再对此变量加 1 --:同理。

键盘输入:Scannerinput=newScanner(System.in);
 

赋值运算符

关系运算符

关系运算符作用是比较两边的操作数,结果总是 boolean 型的。
 

逻辑运算符

逻辑运算符用于对 boolean 型结果的表达式进行运算,运算结果总是 boolean 型,后面结合条件结构讲解。

位运算符

位运算符对两个操作数中的每一个二进制位都进行运算
位运算符功能 按位取反 ~ 按位与 & 按位或 | 按位异或 ^

位移运算符

左移:"a<<b;"将二进制形式的 a 逐位左移 b 位,最低位空出的 b 位补 0 带符号右移:"a>>b;"将二进制形式的 a 逐位右移 b 位,最高位空出的 b 位补原来的符号位 无符号右移:"a>>>b;"将二进制形式的 a 逐位右移 b 位,最高位空出的 b 位补 0 

2227= 00000000 00000000 00001000 10110011
2227<<3= 00000000 00000000 01000101 10011000
2227>>3= 00000000 00000000 00000001 00010110
2227>>>3= 00000000 00000000 00000001 00010110
-2227= 11111111 11111111 11110111 01001101
-2227<<3= 11111111 11111111 10111010 01101000
-2227>>3= 11111111 11111111 11111110 11101001
-2227>>>3= 00011111 11111111 11111110 11101001

字符串连接运算符
Strings="He"+"llo"; 结果"Hello" "+"除了可用于字符串相连接,也能将字符串与其它的数据类型相连成一个新的字符串。 如:Strings="x"+123; 结果"x123"
 

三目运算符
X?Y:Z X 为 boolean 类型表达式,先计算 x 的值,若为 true,整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z的值。
例: intscore=75; Stringtype=score>=60?"及格":"不及格";
 

表达式和语句
条件语句
if 条件结构是根据条件判断之后再做处理 if(条件语句){…} if(条件语句){…}else{…} if(条件语句){…}elseif(条件语句){…} if(条件语句){…}elseif(条件语句){…}else{…} 

switch switch(表达式){
case 取值 1: 语句块 1;break; case 取值 n: 语句块 n;break; default: 语句块 n+1;break; }


switch语句有关规则 表达式的返回值必须是下述几种类型之一:int,byte,char,short,确定的结果; case 子句中的取值必须是常量,且所有 case 子句中的取值应是不同的; default 子句是可选的; break 语句用来在执行完一个 case 分支后使程序跳出 switch 语句块;如果 case 后面没有写 break 则直接往下面执行! Case 后面的执行体可写{}也可以不写{}

 

class Demo1 {
	public static void main(String[] args) {
		//代码是从上至下,从左至右一次执行的.
		int a = 5;

	
		++a;
		System.out.println(a);
		//System.out.println(5);
		
		
		System.out.println(a);



		/*
		int a = 10;
		int b = 3;

		System.out.println(a%b);
		*/
	}
}
class Demo2 {
	public static void main(String[] args) {
		int a = 5;
		a+=3;// a = a + 3;
		System.out.println(a);

		int x = 10;
		int y = 3;
		x-=y;//x = x - y;
		System.out.println(x);
	}
}
class Demo3 {
	public static void main(String[] args) {
		
		int x = 7;

		x+=x++ + ++x;
		/*
		x+=x++ + ++x;
		x = x + [x++ + ++x]
		7 = 7 + [7   +   9]
		7 = 7 + 16
		23
		
		
		*/




		System.out.println(x);
	}
}
import java.util.Scanner;

/*
Java接收用户键盘输入
	1. 导包: import java.util.Scanner;
	2. 实例化 Scanner 对象
		Scanner input = new Scanner(System.in);
	3. 接收用户的输入
		1> 接收整型: input.nextInt();
		2> 接收Double:input.nextDouble();
		3> 接收String:input.nextString();
*/
class Demo4 {
	public static void main(String[] args) {
		//2. 实例化 Scanner 对象
		Scanner input = new Scanner(System.in);

		//3. 开始接收用户输入
		System.out.print("请输入您的年龄:");


		int age = input.nextInt();
		System.out.println("您的年龄是:" + age);
		


		System.out.print("请输入您的身高(单位厘米):");
		int height = input.nextInt();
		System.out.println("您的身高是:" + height);

	}
}
class Demo5 {
	public static void main(String[] args) {
		System.out.println(!true);
		/*

		true ^ true = false
		true ^ false = true
		false ^ true = true
		false ^ false = false

		^:左右两边的表达式运算结果不同,^的运算结果为true
		  左右两边的表达式运算结果相同,^的运算结果为false


		true | true = true
		true | false = true
		false | true = true
		false | false = false

		|:全假则假
			左右两边的表达式运算结果都为 false 的时候,|运算的结果才为false
			左右两边的表达式只要有一个表达式的运算结果为true,那么|运算的结果就为true
		||:
		与 | 运算原理基本相同,如果左边的表达式运算结果为true,||右边的表达式不参与运算.


		
		true & true = true
		true & false = false
		false & true = false
		false & false = false

		&运算:全真则真,
			左右两边的表达式,运算结果都为 true 的时候 &运算的结果才为 true
			左右两边的表达式,只要有一个表达式的运算结果为false,那么&运算的结果就为false.
		
		false && x<y

		& 和 && 的区别
		&&和&的运算原理基本相同,在左边的表达式运算结果为false的时候.&&右边的表达式不参与运算.
		
		*/



		/*
		int a = 5;
		int b = 5;


		System.out.println(a != b);
		*/
	}
}
class Demo6 {
	//Java 是一门强类型的语言,定义什么类型的变量就要赋什么类型的值.
	public static void main(String[] args) {
		String str = "Hello" + " QiDi" + " !!!";	

		System.out.println(str);

		System.out.println("这个字符串的值是:" + str);
	}
}
import java.util.Scanner;

/*
接收用户输入的成绩:
	判断成绩是否及格
	score >= 60
*/

class Demo7 {
	public static void main(String[] args) {
		/*
		a+b

		X ? Y : Z
		*/
		//实例化 Scanner 对象 对象名叫 input
		Scanner input = new Scanner(System.in);
		
		//提示并接收用户输入的成绩
		System.out.print("请输入您的成绩:");
		//score 存储用户的成绩
		int score = input.nextInt();

		//判定成绩是否及格
		String result = score>=60 ? "及格" : "不及格";

		System.out.println("您输入的成绩:" + result);

	}
}
class HelloWorld {
	public static void main(String[] args) {
		System.out.println("白哥\r真的\\真的\"好帅\"啊!");
	}
}
/*

if(条件语句){…} 
if (条件语句){…}else{…} 

*/

class IfDemo1 {
	public static void main(String[] args) {
		//if(条件语句){…} 
		
		int a = 10;
		
		if(a>2){//userID==11000110000 password==123456
			//业务逻辑处理代码......
			System.out.println("这个数比2大");
		}else{
			//当if括号内的条件不成立的时候,需要执行的业务逻辑处理
			System.out.println("这个数比2小");
		}

		//....继续执行后面的代码
		System.out.println("Hello World");
	}
}
/*
if (条件语句){…}else if(条件语句){…} 
if (条件语句){…}else if(条件语句){…}else{…}

*/

class IfDemo2 {
	public static void main(String[] args) {
		//会员卡的会员状态
		//1.普通会员  2. 银卡会员  3.金卡会员 4.铂金会员
		int cardStauts = 6;


		if (cardStauts == 1){
			System.out.println("尊贵的会员,您是普通会员,全场消费98折");
			//业务逻辑处理代码
		}else if (cardStauts == 2){
			System.out.println("尊贵的会员,您是银卡会员,全场消费9折");
		}else if (cardStauts == 3){
			System.out.println("尊贵的会员,您是金卡会员,全场消费8折");
		}else if (cardStauts == 4){
			System.out.println("尊贵的会员,您是铂金还有,全场消费5折");
		}else{
			//上面罗列的条件都不满足,这里做一个统一的业务逻辑处理
			System.out.println("您还不是本店的会员,建议您加入会员,享受全场消费折扣");
		}

	}
}
import java.util.Scanner;

/*

需求:接收用户输入的成绩,根据成绩判定 优秀 良好 中等 不及格
	优秀  > 90
	良好  80 -- 90
	中等  60 -- 80 
	不及格  < 60
		

*/

class IfTest1 {
	public static void main(String[] args) {
		//实例化 Scanner 对象
		Scanner input = new Scanner(System.in);

		//提示用户输入成绩,并且用变量接收存储
		System.out.print("请输入您的成绩:");
		int score = input.nextInt();

		//对成绩进行判定
		if(score>=0 && score <= 100){
			//如果条件成立,代表用户输入的数据合法
			//就可以进行下面的业务逻辑处理
			if (score>=90){
				System.out.println("恭喜!您的成绩为优秀!");
			}else if (score >= 80){
				System.out.println("恭喜!您的成绩为良好!");
			}else if (score >= 60){
				System.out.println("恭喜!您的成绩为中等!");
			}else{
				System.out.println("您的成绩不及格!请准备补考费吧!");
			}
		}else{
			//数据输入不合法
			System.out.println("对不起,您输入的成绩超出范围,请检查后重新输入!");
		}

	}
}
/*
switch(表达式){
	case 取值 1: 语句块 1;
		break; 
	case 取值 n: 语句块 n;
		break; 
	default: 语句块 n+1;
		break; 
}
*/

class SwitchDemo1 {
	public static void main(String[] args) {
		//会员卡的会员状态
		//1.普通会员  2. 银卡会员  3.金卡会员 4.铂金会员
		int cardStatus = 30;

		switch (cardStatus){
			case 1:
				System.out.println("您的卡为普通会员");
				break;
			case 2:
				System.out.println("您的卡为银卡会员");
				break;
			case 3:
				System.out.println("您的卡为金卡会员");
				break;
			case 4:
				System.out.println("您的卡为铂金会员");
				break;
			default:
				System.out.println("你还未加入会员!");
				break;
		}
	}
}

class SwitchDemo2 {
	public static void main(String[] args) {
		//会员卡的会员状态
		//1.普通会员  2. 银卡会员  3.金卡会员 4.铂金会员
		int cardStatus = 1;

		switch (cardStatus){
			case 1:
				System.out.println("您的卡为普通会员");
				//break;
			case 2:
				System.out.println("您的卡为银卡会员");
				//break;
			case 3:
				System.out.println("您的卡为金卡会员");
				break;
			case 4:
				System.out.println("您的卡为铂金会员");
				//break;
			default:
				System.out.println("你还未加入会员!");
				//break;
		}
	}
}
/*
输入月份输出天数
*/

class SwitchTest1 {
	public static void main(String[] args) {
		int month = 4;
		
		switch (month){			
			case 2:
				System.out.println(month + "月共有28天");
				break;
			case 1:			
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				System.out.println(month + "月共有31天");
				break;
			case 4:
			case 6:
			case 9:
			case 11:
				System.out.println(month + "月共有30天");		
				break;
			default:
				System.out.println("月份有误!请重新输入!");
				break;
		}


		/*
		
		switch (month){
			case 1:
				System.out.println(month + "月共有31天");
				break;
			case 2:
				System.out.println(month + "月共有28天");
				break;
			case 3:
				System.out.println(month + "月共有31天");
				break;
			case 4:
				System.out.println(month + "月共有30天");
				break;
			case 5:
				System.out.println(month + "月共有31天");
				break;
			case 6:
				System.out.println(month + "月共有30天");
				break;
			case 7:
				System.out.println(month + "月共有31天");
				break;
			case 8:
				System.out.println(month + "月共有31天");
				break;
			case 9:
				System.out.println(month + "月共有30天");
				break;
			case 10:
				System.out.println(month + "月共有31天");
				break;
			case 11:
				System.out.println(month + "月共有30天");
				break;
			case 12:
				System.out.println(month + "月共有31天");
				break;

			default:
				System.out.println("月份有误!请重新输入!");
		}
		
		*/

	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值