小白学Java代码:运算符(下)+键盘输入+流程控制(上)

 连接运算符

class Operator01{
	public static void main(String[] args){
		//连接运算符
		String s1 = "100",s2 = "200";
		String s3 = s1 + s2; //"100200"
		//上面一条语句是否等价于如下代码?
		String s4 = s2 + s1; //"200100"
		System.out.println("s3 = " + s3);
		System.out.println("s4 = " + s4);
		
		//因此得到结论:当作连接时变量值的顺序颠倒会影响结果
	}
}

 扩展赋值运算符

class Operator02{
	public static void main(String[] args){
		//扩展赋值运算符
		/*int a = 10;
		//a = a + 5; 
		//其实该条语句也可以编写为:
		a += 5;
		System.out.println("a = " + a); */

		/*int x = 0,y = 123;
		//x = x * 10 + y % 10; //x = 3
		//上面一条语句能否编写为如下代码?----不等价
		x *= 10 + y % 10; //x = 0 其实该条语句等价于x = x * (10 + y % 10);
		System.out.println("x = " + x); */

		int a = 123;
		//注意:在Java中,当使用扩展赋值运算符时,不会改变左侧变量的数据类型,并且不会进行四舍五入
		a += 5.97;  //a = 128;
		//其实上面一条语句等价于如下写法,但是结果不一样
		//a = a + 5.97; //出现编译错误,原因:当前使用赋值运算符时,等号右侧的值是128.97不能直接给左侧int类型赋值
		System.out.println("a = " + a);

		int m = 12345;
		m -= 10; //等价于m = m - 10;

		m = 678;
		m /= 10; //等价于m = m / 10;

		m = 1234;
		m %= 10; //等价于m = m % 10;
	}
}

 关系运算符

class Operator03{
	public static void main(String[] args){
		/*
			关系运算符
			总结:当满足条件(条件成立)时,则结果为true(真的),否则为false(假的)
		*/
		System.out.println(10 > 9); //true
		System.out.println(100 < 20); //false
		System.out.println(5 / 2 >= 2); //true
		System.out.println(10 % 3 == 5 / 4); //true
		System.out.println(12 % 3 <= 4); //true
		System.out.println(18 % 9 != 20 % 5); //false
	}
}

 逻辑运算符

class Operator04{
	public static void main(String[] args){
		//逻辑与&:当两个条件都满足(都成立)时,则结果为true,否则为false
		/*System.out.println(5 > 3 & 8 != 9); //true
		System.out.println(12 % 6 == 2 & 1 < 9); //false
		System.out.println(8 / 2 != 0 & 6 % 3 == 2); //false
		System.out.println(100 / 10 == 0 & 5 / 3 == 2); //false */

		//逻辑或|
		/*System.out.println(0 == 1 | 8 > 7); //true
		System.out.println(6 / 3 == 2 | 5 < 15); //true
		System.out.println(100 % 10 == 10 | 9 % 3 == 3); //false */

		//逻辑异或^
		/*System.out.println(3 >= 4 ^ 6 <= 7); //true
		System.out.println(14 / 7 >= 0 ^ 10 % 3 != 0); //false */

		//逻辑非!
		/*System.out.println(!true); //false
		System.out.println(!!true); //true
		//System.out.println(!1 > 2); //出现编译错误,必须将1 > 2添加括号
		System.out.println(!(1 > 2)); //true */

		/*
			短路与&&
			1.通过运行得到,短路与和逻辑与的执行结果都一样
			2.当使用短路与时,并且第一个条件为false时,则结果直接为false
			3.因此在使用短路与时执行速度可能会更快或者效率高
			4.建议使用短路与
		*/
		/*System.out.println(100 > 1 && 9 != 5); //true
		System.out.println(100 > 1 & 9 != 5); //true

		System.out.println(6 == 7 && 12 <= 20); //false
		System.out.println(6 == 7 & 12 <= 20); //false */

		/*
			短路或||
			1.通过运行得到,短路或和逻辑或的执行结果都一样
			2.当使用短路或时,并且第一个条件为true时,则结果直接为true
			3.因此使用短路或时,执行速度相对更快或者效率高
			4.建议:使用短路或
		*/
		System.out.println(1 >= 0 || 3 == 4); //true
		System.out.println(1 >= 0 | 3 == 4); //true


	}
}

 练习1:判断10大于20嘛,要求:使用三目运算符完成
            三目语法格式:条件 ? 代码1 : 代码2

class Operator05{
	public static void main(String[] args){
		/*
			练习1:判断10大于20嘛,要求:使用三目运算符完成
			三目语法格式:条件 ? 代码1 : 代码2
		*/
		//System.out.println(10 > 20 ? "大于" : "不大于");
		
		/*
			练习2:判断一个数(比如:18)是奇数还是偶数
			分析得到:1.该题有两种情况,分别是奇数、偶数,最终得到一个结果偶数,因此就可以使用三目运算符完成
					   2.三目语法格式:条件 ? 代码1 : 代码2
					   3.当一个数能被2整除,则就是偶数,否则就是奇数
					     则编写代码为,18 % 2 == 0
		*/
		/*int a = 18;
		System.out.println(a % 2 == 0 ? a + "是偶数" : a + "是奇数");*/

		//练习3:判断一个数(比如:123),当大于0则输出1,当小于0则输出-1,否则输出0
		int a = -123;
		System.out.println(a > 0 ? 1 : a < 0 ? -1 : 0);
	}
}

 练习1:判断一个数是奇数还是偶数

import java.util.Scanner; //第一步:导入包,必须位于当前Java源文件所有类的最前面
class Input06{
	public static void main(String[] args){
		/*
			练习1:判断一个数是奇数还是偶数
			分析得到:1.该题中有未知数,则就可以编写为键盘接收用户输入的完成
		*/
		//第二步:创建Scanner对象
		Scanner input = new Scanner(System.in);
		//第三步:友好提示
		System.out.print("请输入一个整数:");
		//第四步:键盘接收用户输入
		int num = input.nextInt(); //注意:当按回车则表示输入完毕,并且将输入的值赋给左侧的变量名称

		System.out.println(num % 2 == 0 ? num + "是偶数" : num + "是奇数");
	}
}
class Input07{
	public static void main(String[] args){
		/*
			练习2:计算两个数的和
			分析得到:1.该题中有两个未知的数,因此就可以编写为键盘接收用户输入
		*/
		Scanner input = new Scanner(System.in);
		System.out.print("请输入第一个整数:");
		int a = input.nextInt();
		System.out.print("请输入第二个整数:");
		int b = input.nextInt();

		//计算变量a和b中和
		int sum = a + b;
		//输出sum中的值
		System.out.println("两个数的和:" + sum);
	}
}

 练习3:输入某个学生的信息(姓名、性别、年龄、身高、体重、家庭住址),并将所有的信息输出

import java.util.*; //其实也可以编写为import java.util.Scanner;   其中*包含所有
class Input08{
	public static void main(String[] args){
		//练习3:输入某个学生的信息(姓名、性别、年龄、身高、体重、家庭住址),并将所有的信息输出
		Scanner input = new Scanner(System.in);
		System.out.print("请输入姓名:");
		String a = input.next();  //注意:在Java中,键盘接收字符串类型时没有nextString(),而是使用next()
		System.out.print("请输入性别:");
		String b = input.next();
		System.out.print("请输入年龄:");
		int c = input.nextInt();
		System.out.print("请输入身高:");
		double d = input.nextDouble();
		System.out.print("请输入体重:");
		double e = input.nextDouble();
		System.out.print("请输入家庭住址:");
		String f = input.next();

		//输出6个变量中的值
		System.out.println("姓名:" + a + "\n性别:" + b + "\n年龄:" + c + "\n身高:" + d + "\n体重:" + e
			+ "\n家庭住址:" + f);
	}
}

 练习1:假如对张三进行Java机试题测试,如果得95分以上则有奖励

import java.util.*;
class If09{
	public static void main(String[] args){
		//练习1:假如对张三进行Java机试题测试,如果得95分以上则有奖励
		//第一步:键盘输入张三的成绩,存放在变量中
		Scanner input = new Scanner(System.in);
		System.out.println("请输入张三的考试成绩:");
		double score = input.nextDouble();
		//第二步:判断当前变量score中的值,来得到是否有奖励
		/*if(score > 95){
			System.out.println("有奖励");
		}*/

		/*
			注意:在Java中,当代码块中只有一条语句时,则大括号是可以省略不写的
					其实也就是默认对一条语句添加大括号
				    建议:当大括号中只有一条语句时,建议也要编写大括号,阅读清晰
		*/
		if(score > 95){
			System.out.println("有奖励");
		}
		System.out.println("OK");

	}
}

 练习2:假如对张三进行Java机试题测试,如果得95分以上则有奖励,否则发红包

import java.util.*;
class If10{
	public static void main(String[] args){
		//练习2:假如对张三进行Java机试题测试,如果得95分以上则有奖励,否则发红包
		Scanner input = new Scanner(System.in);
		System.out.print("请输入张三的考试成绩:");
		double score = input.nextDouble();
		//第一种方法:使用两个if块完成,缺点:执行速度可能慢或者效率低
		/*if(score > 95){
			System.out.println("有奖励");
		}
		if(score <= 95){
			System.out.println("发红包");
		}*/

		//第二种方法:三目运算符
		/*System.out.println(score > 95 ? "有奖励" : "发红包");
		//其实上面一条语句,也可以编写为如下代码
		String a = score > 95 ? "有奖励" : "发红包";
		System.out.println(a); */

		//第三种方法:使用if else完成
		if(score > 95){
			System.out.println("有奖励");
		}else{
			System.out.println("发红包");
		}

	}
}

 练习3:判断一个数能否被9整除

import java.util.*;
class If11{
	public static void main(String[] args){
		//练习3:判断一个数能否被9整除
		//第一步:键盘输入一个数存放在变量中
		Scanner input = new Scanner(System.in);
		System.out.print("请输入一个整数:");
		int num = input.nextInt();
		//第二步:判断当前变量num中的值
		/*if(num % 9 == 0){
			System.out.println(num + "是9的倍数");
		}else{
			System.out.println(num + "不是9的倍数");
		}*/

		//练习4:判断一个数是否是三位的正数
		if(num >= 100 && num <= 999){
			System.out.println(num + "是三位的正数");
		}else{
			System.out.println(num + "不是三位的正数");
		}
	}
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值