小白学Java代码:流程控制(中)+变量(下)

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

import java.util.*;
class If01{
	public static void main(String[] args){
		//练习1:假如对张三进行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("发红包");
		}*/

		//第四种方法:使用多重if选择结构完成
		if(score > 95){
			System.out.println("有奖励");
		}else if(score <= 95){
			System.out.println("发红包");
		}
	}
}

 练习2:输入一个年龄,输出是老年、中年、青年还是少年

import java.util.*;
class If02{
	public static void main(String[] args){
		//练习2:输入一个年龄,输出是老年、中年、青年还是少年
		//第一步:键盘输入年龄,存放在变量中
		Scanner input = new Scanner(System.in);
		System.out.print("请输入年龄:");
		int age = input.nextInt();
		/*
			第二步:判断当前变量age中的值,来输出结果
			假如年龄在60岁以上为老年,年龄在30---59岁为中年,年龄在18---29岁为青年,年龄在0---17岁为少年
		*/
		/*if(age >= 60){
			System.out.println("是老年");
		}else if(age >= 30){
			System.out.println("是中年");
		}else if(age >= 18){
			System.out.println("是青年");
		}else if(age > 0){
			System.out.println("是少年");
		}*/
		
		/*
			多重if选择结构中常见的问题:
				1.多重if选择结构中的else if(){}是可以颠倒的,但是可能会影响程序的运行结构,解决办法将条件必须编写严谨
				  建议:按顺序编写条件
				2.当所有条件都不满足时,则执行else{}
				3.多重if选择结构中的else{}是可有可无的,如果有,则只能编写在多重if选择结构的最后,并且只能编写一个
		*/
		if(age >= 60){
			System.out.println("是老年");
		}else if(age >= 18 && age <= 29){
			System.out.println("是青年");
		}else if(age >= 30){
			System.out.println("是中年");
		}else if(age > 0){
			System.out.println("是少年");
		}else{
			System.out.println("年龄输入有误!");
		}
	}
}

 练习3:判断一个两位的正整数是奇数还是偶数

import java.util.*;
class If03{
	public static void main(String[] args){
		/*
			练习3:判断一个两位的正整数是奇数还是偶数
			分析得到:
				假如输入的数是6,结果是输入有误
				    输入的数是123,结果是输入有误
					输入的数是-1,结果是输入有误
					输入的数是1234567,结果是输入有误
					输入的数是18,结果是偶数
					输入的数是10,结果是偶数
					输入的数是91,结果是奇数
					......
			   因此得到:1.一个数是未知的,就可以编写为键盘输入的数
			              2.判断当前的数是否是两位的正数
						  3.当是两位正数,则再判断是奇数还是偶数
		*/
		//第一步:键盘输入一个整数,存放在变量中
		Scanner input = new Scanner(System.in);
		System.out.print("请输入一个两位的正整数:");
		int num = input.nextInt();
		//第二步:判断当前num中的值是否是两位正数,其实也就是在[10,99]范围内
		if(num >= 10 && num <= 99){
			//表示是两位的正数
			//第三步:判断当前变量num中的值是奇数还是偶数
			if(num % 2 == 0){
				System.out.println(num + "是偶数");
			}else{
			System.out.println(num + "是奇数");
			}

		}else{
			System.out.println(num + "不是两位正数,输入有误!");
		}
	}
}
class Var04{
	String name; //name就是成员变量
	int age; //age就是成员变量

	public static void main(String[] args){
		int a = 18; //a就是局部变量
		int b; //b就是局部变量
		double c; //c就是局部变量
		String d; //d就是局部变量

		if(a % 2 == 0){
			int x; //x是局部变量
		}
	}
}
class Var05{
	public static void main(String[] args){
		int a = 100;
		double b;
		//注意:在java中,如果只存放一个值,并且使用英文的单引号引起来,则为字符类型char,比如:'a'  '6'  '好'  'H'
		char c;
		String d;
		b = 3.14;
		c = '男';
		d = "北京市";
	}
}
class Var06{
	public static void main(String[] args){
		//byte
		/*byte a = 10;  //注意:在Java中,当对byte、short、char类型赋值时,如果没有超出当前数据类型取值范围是可以直接赋值的
		a = 123;
		a = 127;
		//a = 128; //出现编译错误,原因:右侧的值128已经超出byte数据类型取值范围,因此就出现编译错误
		System.out.println("a = " + a); */

		//short
		/*short b = -1;
		b = 128;
		b = 12345;
		//b = 32768; //出现编译错误,原因:右侧的值已经超出当前short类型取值范围 */

		//int
		int c = 6;
		c = 0;
		c = -56789;
		//c = 12345678909; //出现编译错误,原因:右侧的值已经超出int数据类型取值范围
		
		//long
		//long d = 12345678909; //出现编译错误,原因:右侧的值默认为int类型,但是该值已经超出int类型取值范围,因此就出现编译错误
		//解决办法:将右侧的值变为long类型,其实也就是在该值的后面添加l或者L
		long d = 12345678909L;
		System.out.println("d = " + d); //d = 12345678909;

		long e = 123; //不会报错,在java中取值范围小的数据类型可以直接给取值范围大的类型赋值,构成自动类型转换
	}
}
class Var07{
	public static void main(String[] args){
		//double
		double x = 0.01;
		x = 198.17;
		x = -6.23;

		//float
		//float y = 2.95; //出现编译错误,原因:右侧的值默认为double类型,而double类型取值范围大不能直接给取值范围小的类型float赋值
		//解决办法:1.将右侧的值变为float类型,也就是在该值的后面添加f或者F
		float y = 2.95f;
		System.out.println("y = " + y);

		//解决办法:2.取值范围大的类型给取值范围小类型,则进行强制类型转换,也就是在该值的前面添加一对英文的小括号,并且在括号中编写目标类型
		float z = (float)589.03; //构成强制类型转换
		System.out.println("z = " + z);
	}
}
class Var08{
	public static void main(String[] args){
		//char
		char x = 'a';
		x = 'Y';
		x = '6';
		x = '男';
		/*
			注意:1.在Java中,整数类型与字符类型之间是可以相互转换的
				  2.整数值赋给字符类型变量时,存放的是码值
				    ASCII
					'a'--->97   'b'--->98  'c'--->99  'd'--->100
					'A'--->65   'B'--->66 
					'0'--->48
					' '--->32
		*/
		x = 100; //x = 'd'
		x = 65; //x = 'A'
		//x = 48; //x = '0'
		//x = 32; //x = ' '
		//x = -123; //出现编译错误,原因:在java中,字符类型的取值范围:[0,65535]
		System.out.println("x = " + x);

		int num = 10;
		num = 5678;
		num = 'a'; //num = 97
		num = 'A'; //num = 65
		System.out.println("num = " + num);
	}
}
class Var09{
	public static void main(String[] args){
		//boolean
		boolean b = true;
		b = false;
		b = 1 >= 0; //b = true
		b = 12 % 2 == 1; //b = false
		System.out.println("b = " + b);
	}
}
class Convert10{
	public static void main(String[] args){
		//小--->大,构成自动类型转换也叫做隐式类型转换
		/*byte a = 10;
		short b = a; //构成自动类型转换也叫做隐式类型转换
		int c = a; //构成自动类型转换也叫做隐式类型转换
		float d = a; //构成自动类型转换也叫做隐式类型转换
		System.out.println("d = " + d); */

		/*short x = 123;
		int y = x; //构成自动类型转换也叫做隐式类型转换
		long z = x; //构成自动类型转换也叫做隐式类型转换
		double z2 = x; //构成自动类型转换也叫做隐式类型转换,z2 = 123.0 */

		/*int a = 569;
		long b = a; //构成自动类型转换也叫做隐式类型转换
		long c = 10; //构成自动类型转换也叫做隐式类型转换
		float d = 123; //构成自动类型转换也叫做隐式类型转换,d = 123.0
		double e = -9; //构成自动类型转换也叫做隐式类型转换,e = -9.0 */

		/*int num = 'a'; //构成自动类型转换也叫做隐式类型转换,num = 97
		long num2 = 'A'; //构成自动类型转换也叫做隐式类型转换,num2 = 65

		float i = 'b'; //构成自动类型转换也叫做隐式类型转换,i = 98.0
		double j = 'c'; //构成自动类型转换也叫做隐式类型转换,j = 99.0
		System.out.println("num = " + num + ",num2 = " + num2);
		System.out.println("i = " + i + ",j = " + j); */

		byte a = 11;
		//char b = a; //出现编译,原因:在Java中,byte类型不能与char类型之间相互转换

		short c = 22;
		//char d = c; //出现编译错误,原因:在Java中,short类型不能与char类型之间相互转换



	}
}
class Convert11{
	public static void main(String[] args){
		//大--->小,则必须进行强制类型转换,也叫做显式类型转换
		/*double a = 2.97;
		float b = (float)a;  //构成强制类型转换,也叫做显式类型转换
		System.out.println("b = " + b);

		int c = (int)a; //构成强制类型转换,也叫做显式类型转换,不会进行四舍五入,因此可能会存在精度丢失,c = 2
		System.out.println("c = " + c); */

		/*char x = (char)97.65; //x = 'a'
		System.out.println("x = " + x); */

		/*byte a = 10;
		short b = 20;
		int c = a + b;
		int d = a + b + 'a'; //d = 127
		System.out.println("d = " + d); */

		/*System.out.println(10 / 4); //2
		System.out.println(8 % 3); //2

		System.out.println(3 * 6); //18
		System.out.println(3.0 * 6); //18.0
		System.out.println(9.0 / 3.0); //3.0
		System.out.println(11.0 / 5); //2.2

		System.out.println(10 * 0.1 + 'A'); //66.0 */

		/*byte a = 10;
		short b = 20;
		int c = 30;
		int d = a + b - c;
		int e = a + c + 'a';
		
		long f = 40;
		long g = a + b + c + f;

		float h = 0.19f;
		float i = a + b + c + h; */

		System.out.println('a' % 2); //1
		char x = 'A';
		System.out.println(x + 1); //66


	}
}

 2.判断某一年是否为闰年(能被4整除但是不能被100整除,或者能被400整除)

import java.util.*;
class Homework02{
	public static void main(String[] args){
		//2.判断某一年是否为闰年(能被4整除但是不能被100整除,或者能被400整除)
		//第一步:键盘输入一个年份,存放在变量中
		Scanner input = new Scanner(System.in);
		System.out.print("请输入一个年份:");
		int year = input.nextInt();
		//第二步:判断当前year变量中的值是否是闰年
		//System.out.println(year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ? year + "是闰年" : year + "不是闰年");
	
		if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
			System.out.println(year + "是闰年");
		}else{
			System.out.println(year + "不是闰年");
		}
	}
}

 4.假如有两个数分别是8和10,存放在x和y变量中,要求:实现两个变量中的值进行互换

class Homework04{
	public static void main(String[] args){
		//4.假如有两个数分别是8和10,存放在x和y变量中,要求:实现两个变量中的值进行互换
		//第一步:声明两个整数类型变量,并且存放8和10
		int x = 8,y = 10;
		System.out.println("互换前:x = " + x + ",y = " + y);
		//第二步:实现两个变量中的值进行互换
		//第1种方法:借助中间变量
		/*int z = x;
		x = y;
		y = z; */

		//第2种方法:不借助中间变量
		x = x + y; //x = 18
		y = x - y; //y = 8
		x = x - y; //x = 10
		//第三步:输出互换后的结果
		System.out.println("互换后:x = " + x + ",y = " + y);

		System.out.println(1 - 0.9); //注意:在Java中,当是浮点类型做运算时,可能会产生微小的误差,结果:0.099999
	}
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值