当前位置 博文首页 > L??X?? J??的博客:第二天学习知识:逻辑运算符-位运算符-条件结

    L??X?? J??的博客:第二天学习知识:逻辑运算符-位运算符-条件结

    作者:[db:作者] 时间:2021-07-19 19:27

    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);

    }
    

    }

    cs
    下一篇:没有了