第二天学习知识:逻辑运算符-位运算符-条件结构-switch-判断数字长度方法-循环结构-课堂练习

import java.util.Scanner;
import java.util.ArrayList;

public class Text {

public static void main(String[] args) {

// new Text().text2();
// new Text().text3();
// new Text().text4();
// new Text().text5();
// new Text().text6();
// new Text().text7();

// new Text().run1();
// new Text().run2();
// new Text().run3();
// new Text().run4();
// new Text().run5();
// new Text().run6();
// new Text().run7();
// new Text().run8();
new Text().run9();
// String name = “apple”;
// System.out.println(new Text().captureName(name));
}

//逻辑运算符
public void text2(){
//逻辑运算符

			/*    && 并且  当两个操作数都为真的时候,条件才为真
			    短路运算符 当第一个操作数不为真的时候,第二个操作数不执行
			    当第一个为真,第二个为假时,也不执行	*/

// if( (1==1)&&(2!=2) ){
// System.out.println(“条件都满足”);
// }else{
// System.out.println(“条件不满足”);
// }

		   /*   || 或者 当两个操作数,任何一个条件为真时,结果都为真
		              两个表达式都会执行,去判断是否为真*/	

// if( (1==1)||(2!=2) ){
// System.out.println(“条件为真”);
// }
//
// /* ! 非运算符
// 用来反转操作数的逻辑状态,如果条件为真,那么结果就为假,如果条件为假,那么结果就为真 */
// if(!(1!=1)){
// System.out.println(“条件为真”);
// }

}

//位运算符
public void text3(){
//位运算符 位运算符是比较我们的二进制码上面的值
/* &(与:有0为0) 对应的位数都是1,结果为1,否则为0 */
// int a = 60;//0011 1100
// int b = 13;//0000 1101
// //0000 1100
// System.out.println(a&b);

	   /*   |(或:有1为1) 对应的位数都是0,结果为0,否则为1  */

// int a = 60;//0011 1100
// int b = 13;//0000 1101
// //0011 1101
// System.out.println(a|b);

	   /*   ^(异或 相同为0不同为1) 对应的位数相同0,结果为0,否则为1*/

// int a = 60;//0011 1100
// int b = 13;//0000 1101
// //0011 0001
// System.out.println(a^b);

	   /*   ~(取反) 按位取反运算符,反转操作数上的每一位数,即0变成1,1变成0 */

// int a = 60;//0011 1100
// //1100 0011 (1100 0011)前面有无数个0变成无数个1故转换为符号位负“-”
// //对二进制进行按位求反,然后加一 ,即为该十进制负数的值
// //-120取反119 65取反-66 符号位取反,再减一
// System.out.println(~a);

	   /*   <<  按位左移  */

// int a = 60;//0011 1100
// //1111 0000
// System.out.println(a<<2);

	   /*   >>  按位右移  */

// int a = 60;//0011 1100
// //0000 1111
// System.out.println(a>>2);
}
//条件结构 if…else
public void text4(){
//条件结构 if…else

			/* if(表达式){	
			 	如果条件满足,则执行大括号里面的代码		  
			  }*/
			  
			 /* 
			  	if(表达式1){
			  	 	如果满足表达式1,则执行表达式1当中的代码,
			  	 后续的判断逻辑都不执行
			  	}else if (表达式2){
			  		当表达式1,不满足,表达式2满足条件的话,执行表达式2当中的代码
			  	后续的判断逻辑都不执行
			  	}else if (表达式3){
			  		同理,当表达式1、2,都不满足,表达式3满足条件的话,执行表达式3当中的代码
			  	后续的判断逻辑都不执行
			  	}else{
			  		如果上方所有的表达式都不满足,则执行最后else当中的代码
			  	}
			 */
}

//switch case
public void text5(){

	//switch case

// switch(表达式){
// case 值:
// 程序体;
// break;
// case 值:
// 程序体;
// break;
// default:
// 程序体;
// break;
// }

	Scanner sc = new Scanner(System.in);
	int age = sc.nextInt();
	
	switch (age) {//数字类型的整形,字符类型,一句话
	case 60://只能是等于,不能是比较
		System.out.println("老年人");
		break;
	case 40:
		System.out.println("中年人");
		break;
	default:
		System.out.println("没有该年龄段");
		break;
	}
}

//判断数字长度方法
public void text6(){
int i = 1000;
Integer I = i;
System.out.println(I.toString().length());
}
//循环结构
public void text7(){
// for
// 表达式1:初始化 只能是整形的正数数字
// 表达式2:条件结构 多个条件的组合 会返回 true/false
// 表达式3:增长或者减少值 最后一个表达式可以没有
// for(表达式1;表达式2;表达式3){
// 程序体
// }
//
// 表达式1 一
// 表达式2 二
// 程序体 三
// 表达式3 四
// 表达式2 五
// 程序体 六
// 表达式3 七
int sum = 0;
for (int i=0;i<=100;i++){
if(i%2 == 1){
sum = sum + i;
}System.out.println(sum);
}
}

//课堂练习1 如果今天下雨,我就带伞
public void run1(){
//课堂练习1
// 如果今天下雨,我就带伞
// 否则如果今天下冰雹,我就带锅
// 否则如果今天天晴,我就带一个装逼的眼镜
// 否则 我就去泡妞
// if(下雨){
// 带伞
// }else if(下冰雹){
// 带锅
// }else if(天晴){
// 戴一个装逼的
// }else{
// 我去泡妞
// }

	}	

//课堂练习2 小明有一个语文的考试分数,这个分数不定
public void run2(){
//课堂练习2
// 小明有一个语文的考试分数,这个分数不定
// 如果大于80分,优秀;如果大于70分,良好;如果大于60分,及格;否则,不及格。
Scanner s = new Scanner(System.in);
System.out.println(“请输入小明语文考试成绩:”);
int score = s.nextInt();
if(score > 80){
System.out.println(“成绩优秀”);
}else if(score > 70){
System.out.println(“成绩良好”);
}else if (score >60) {
System.out.println(“成绩及格”);
}else {
System.out.println(“成绩不及格”);
}
//run1();
}
//课堂练习3 根据用户输入,判断人的生命周期。
public void run3(){
//课堂练习3 根据用户输入,判断人的生命周期。
// 根据用户输入,判断人的生命周期。60岁以上——老年人,40——60岁+中年人
// ,20——40岁——青年人,10岁以下——儿童。

				Scanner s = new Scanner(System.in);
				System.out.println("请输入年龄:");		
				String old = s.next(); 
				try
				{
				int a = Integer.parseInt(old);

				}catch(RuntimeException e)
				{
				System.out.println(123);
				}

//
// if(old > 60){
// System.out.println(“老年人”);
// }else if(old > 40&&old <=60){
// System.out.println(“中年人”);
// }else if(old > 20&&old <=40){
// System.out.println(“青年人”);
// }else if(old > 10&&old <=20){
// System.out.println(“青少年”);
// }else {
// System.out.println(“儿童”);
// }
//run1();
}
//课堂练习4 请输入3个数,判断这个数是否可以组成三角形
public void run4(){
//课堂练习4
// 请输入3个数,判断这个数是否可以组成三角形
// 任意2个数相加大于第三个数
Scanner s = new Scanner(System.in);
System.out.println(“请输入第一个数:”);
int numb1 = s.nextInt();
System.out.println(“请输入第二个数:”);
int numb2 = s.nextInt();
System.out.println(“请输入第三个数:”);
int numb3 = s.nextInt();
if(numb1 +numb2 > numb3&&numb1 + numb3 > numb2&&numb2 + numb3 > numb1){
System.out.println(“这三个数能组成三角形”);
}else{
System.out.println(“这三个数不能组成三角形,请重新输入!”);
run4();
}
}
//课堂练习5 根据用户的输入,判断当前是星期几
public void run5(){
//课堂练习5
//根据用户的输入,判断当前是星期几
//1-7之间的数字,如果不是,那么提示用户输入有误
Scanner n = new Scanner(System.in);
System.out.println(“请重新输入1-7中任意数字:”);
int a = n.nextInt();
switch (a) {
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("输入有误!请重新输入1-7中任意数字");
		run5();
		break;
	}
	
}

//课堂作业6 键盘上输入一个月份,输入相应的季节
public void run6(){
//课堂作业6
// 键盘上输入一个月份,输入相应的季节
// 1-3春季
// 4-6夏季
// 7-9秋季
// 10-12冬季
Scanner s = new Scanner(System.in);
System.out.println(“请输入一个月份:”);
int a = s.nextInt();
switch (a) {
case 1:
case 2:
case 3:
System.out.println(“您输入的月份属于春季”);
break;
case 4:
case 5:
case 6:
System.out.println(“您输入的月份属于夏季”);
break;
case 7:
case 8:
case 9:
System.out.println(“您输入的月份属于秋季”);
break;
case 10:
case 11:
case 12:
System.out.println(“您输入的月份属于冬季”);
break;
default:
System.out.println(“输入有误!请重新输入1-7中任意数字”);
run6();
break;
}
}
//课堂作业7 判断用户输入的年份是否是闰年(四位数的年份)
public void run7(){
//课堂作业7
// 判断用户输入的年份是否是闰年(四位数的年份)
// 判断闰年的规则是:能被400整除,或者(能被4整除,并且不能被100整除的数)
Scanner s = new Scanner(System.in);
System.out.println(“请输入闰年年份(要求四位数):”);
int a = s.nextInt();
if(a%400 == 0||(a%4 == 0&&a%100 != 0)){
System.out.println(“恭喜恭喜!您输入的年份为闰年!”);
}else {
System.out.println(“您是猪吗?亲!”+a+“怎么会是闰年!”);
run7();
}

}

//课堂作业8 制作万年历
public void run8(){
//万年历
// 当用户输入年份和月份的时候,去提示用户,当前月份有多少天
// 举例:2000年2月份 有29天
// 1999年2月份 有28天
//
// if else
// switch case
//
// 30天有哪些月份
// 31天有哪些月份
// 2月 如果是闰年是29天不是闰年是28天

	Scanner s = new Scanner(System.in);
	System.out.println("请输入年份 :");
	int y = s.nextInt();
	System.out.println("请输入月份 :");
	int m = s.nextInt();
	boolean flag = false;
	if(y%400 == 0||(y%4 == 0&&y%100 != 0)){
		flag = true;
	}
	
	switch (m) {
	case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:
		System.out.println("当前月份有31天");
		break;
	case 4:
	case 6:
	case 9:
	case 11:
		System.out.println("当前月份有30天");
		break;
	case 2:
		if(flag){
			System.out.println("当前月份有29天");
		}
		System.out.println("当前月份有28天");
		break;
	default:
		break;
	}
	
}

//课堂作业9 100-999判断是否是水仙花数
public void run9(){
//课堂作业9
// 100-999判断哪些是水仙花数
// 什么时水仙花数:个位的立方+十位的立方+百位的立方等于自己

	Scanner s = new Scanner(System.in);
	System.out.println("请输入一个100-999中的数:");
	int a = s.nextInt();
	Integer I = a;
	int c  = I.toString().length();//计算长度
	System.out.println(c);
	int[] b = new int[c];
	int i =0;
	for(int n=a;n>0;){
		int w = n%10;
		n = n/10;
		b[i] = w;
		i++;
	}

// for (i = 0; i < c; i++) {
// System.out.println(b[i]);
// }
//
int sum = 0;
for(i = 0; i < c; i++){
sum = (int) (sum + java.lang.Math.pow(b[i], c));//次方后,求和
}
if(sum == a){
System.out.println(a+“是水仙花数”);
}else{
System.out.println(a+“不是水仙花数”);
}
run9();
}

//首字母大写 进行字母的ascii编码前移
public static String captureName(String name) {
// name = name.substring(0, 1).toUpperCase() + name.substring(1);
// return name;
char[] cs=name.toCharArray();
cs[0]-=32;
return String.valueOf(cs);

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值