学习java day02

1.赋值运算符

// 赋值运算符:+= -= *= /= %=
class GetValue {
	public static void main(String[] args) {

		int i1 = 10;
		i1 += 3;// i1 = i1 + 3;
 
        short s = 10;
		//s = s + 3; 编译不通过
		s = (short)(s+1);//不建议这样实现
		s += 1;//既可以实现预算,又不会更改s的数据类型
        
		int i2 = 12;
		i2 %= 5;
		System.out.println(i1);
		System.out.println(s);
		System.out.println(i2);

		int i = 1;
        i *= 0.1;
		System.out.println(i);
	}
}

2.位运算符

//位运算符: << >> >>> | & ~ ^
class TestBit {
	public static void main(String[] args) {
        int i1 = 31;

		System.out.println(i1<<3);//248
		System.out.println(i1<<28);//-268435456
		System.out.println(i1>>2);//7
		System.out.println(i1>>>2);//7

		int i2 = -31;
		System.out.println(i2>>2);//-8
		System.out.println(i2>>>2);//1073741816

		System.out.println(12 & 5);//4
		System.out.println(12 | 5);//13
		System.out.println(12 ^ 5);//9
		System.out.println(~12);//-13
	}
}

3.逻辑运算符

//逻辑运算符:& && | || ! ^
class TestLogic {
	public static void main(String[] args) {
		boolean a = true;
		boolean b = false;
		System.out.println(a & b);
		System.out.println(a && b);
		System.out.println(a | b);
		System.out.println(a || b);
		System.out.println(!a & b);
		System.out.println(a ^ b);


		//& 与 && 的区别:&:不管左边的值,右端都会进行运算
		//                &&: 左端为false, 右端不在进行运算
		int i1 = 10;
		if(b & (i1++) > 0) {
			System.out.println("孩他爸");
		}else {
			System.out.println("孩他妈");
		}
		System.out.println(i1);

		int i2 = 10;
		if(b && (i2++) > 0) {
			System.out.println("孩他爸");
		}else {
			System.out.println("孩他妈");
		}
		System.out.println(i2);

		// | 与 || 的区别:|:不管左边的值,右端都会进行运算
	    //                 ||: 左端为true时,右端不在进行运算
	}
}

4.课堂作业: 交换 m 和 n的值

class TestExert1 {
	public static void main(String[] args) {
		int m = 12;
		int n = 5;
		System.out.println("m:" + m + "n:" + n);
		//方法一: 提供一个临时变量
		int temp = m;
		    m = n;
		    n = temp;
		System.out.println("m:" + m + "n:" + n);

		//方法二:当m和n较大时,有可能出现精度损失
		m = m + n;
		n = m - n;
		m = m - n;
		System.out.println("m:" + m + "n:" + n);

		//方法三:
		m = m ^ n;
		n = m ^ n;//(m ^ n)^ n == m;
		m = m ^ n;//(m ^ n) ^ m == n
		System.out.println("m:" + m + "n:" + n);

        //问题:
		//60 手动的方式,从控制台输出60的十六进制
		int i = 60;
		//自动调用Integer类现成的方法
		String binary = Integer.toBinaryString(i);
		System.out.println(binary);

		String hex = Integer.toHexString(i);
		System.out.println(hex);

		int j = i&15;//获取到i的最低4位对应的值
	    String c1 = (j<=9)?j+"":(char)(j-10+'a')+"";
		//System.out.println(c1);

		i = i>>4;
		int j1 = i & 15;
		String c2 = (j1<=9)?j1+"":(char)(j1-10+'a')+"";
		System.out.println(c2+c1);
	}
}

5.三元运算符

//三元运算符 :(条件表达式)? 表达式1 :表达式2;
//要求:表达式1与表达式2为同种数据类型
//结果的数据类型与表达式1,2的类型一致
class TestSanYuan {
	public static void main(String[] args) {
		int i = 10;
		int j = 20;
		int max = (i>j)? i:j;

		String str = (i > j)? "i大": "j大";
		String str1 = (i > j)? "i大" : (i==j)? "相等" : "j大";
		System.out.println(max);
		System.out.println(str);
		System.out.println(str1);

		//练习:如何使用三元运算符,输出三个数中的较大值
		int  m = 12;
		int n = 23;
		int k = -9;
		int max1 = (m>n)? (m>k)? m: k : (n>k) ? n : k;
        //int max2 = (max1>k) ? max1 : k;
		System.out.println(max1);


	}
}

6.输入

//从键盘输入数据
//1.导包
import java.util.Scanner;
class TestScanner {
	public static void main(String[] args) {
		//2.创建一个Scanner类的对象
		Scanner s = new Scanner(System.in);
		System.out.println("请输入一个字符串:");
		//3.调用此对象的相应的方法,完成键盘输入的值的获取
		//next():表示从键盘获取一个字符串
		String str = s.next();
		System.out.println(str);
	}
}

流程控制:顺序结构; 分支结构(if-else; switch-case); 循环结构(while; do…while; for(;;))

7.if-else


    /*
从键盘输入小明的期末成绩。
当成绩为100时,奖励一辆bmw;
成绩为80 到 99,奖励一台ipone
成绩为60到80时,奖励一本书;
否则什么都没
*/
import java.util.Scanner;
class TestIf1 {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		System.out.println("请输入小明的期末成绩: (分)");
		int score = s.nextInt();

		if(score>100 || score < 0) {
			System.out.println("你输入的数值有误!");
		}else {
			if(score==100) {
				System.out.println("bmw");
			}else if(score > 80){
				System.out.println("iphone");
			}else if(score > 60){
				System.out.println("参考书");
			}else {
				System.out.println("没东西");
			}
     	}
	}
}


8.switch-case

/*
switch(变量) {
    case 值1:

	case 值2:

	case 值3:

	default:
}
1.根据变量的值,选择相应的case去判断,一旦满足case条件,就执行case相应的语句,
如果没有break;会继续执行其下的case语句
2.default:是可选的,而且位置是灵活的
3.变量可以是:char byte short int 枚举 String(jdk1.7)
*/
class TestSwitch1 {
	public static void main(String[] args) {
		String season = "spring";
		int i = 4;
		switch(season) {
			case "spring":
				System.out.println("zero");
			    break;
			case "summer":
				System.out.println("one");
			    break;
			case "autumn":
				System.out.println("two");
			    break;
            case "winter":
				System.out.println("three");
			    break;
			default:
				System.out.println("other");
			    break;
		}
	}
}

9.作业

/*
作业:当男方高:180cm以上;财富:一千万以上;帅:是。
三个条件同时满足:我要嫁给他;
有一个以上满足:嫁吧
都不满足:不嫁
*/
import java.util.Scanner;
class Work {
	public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
		System.out.println("请输入身高: ");
		int high = s.nextInt();
		System.out.println('\n'+"请输入财富: ");
		double wage = s.nextDouble();
		System.out.println('\n'+"是否帅:");
		boolean b  = s.nextBoolean();
		if(high>=180 && wage >= 10000000 && b==true){
             System.out.println("我要嫁给他");
		}else if(high>=180 || wage >= 10000000 || b==true){
			System.out.println("嫁吧");
		}else {
			System.out.println("不嫁");
		}
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值