初学呐喊!——运算符的使用以及Java语句

第四单元 运算符结合语句

第一部分——运算符

1.1.1如何使用算是运算符

一,算数运算符
+,-,*,/,%,++,–
  • 1-0.9的结果是非常接近于0.1的数字,浮点型在十进制转化为二进制时出现误差
  • 整数相除得到整数
  • 3.0/0在Java中正确,结果为无穷大(Infinity)
  • 3.0%0正确,结果为NAN(Not A Number)
  • a++事先输出后加1,++a是先加1后输出
  • 常量不能进行自加自减

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yHoMBLg7-1591621293847)(https://file.moetu.org/images/2020/03/19/lALPDg7mLgAUgOjMus0BjA_396_186.png_720x720q90g38124ae2b3b2e8bc.jpg)]

示例

public class Operator {
	public static void main(String[] args) {
		System.out.println(3+4);
		System.out.println("China"+3+4);//China34
		System.out.println(3+4+"China");//7China
		
		System.out.println(1-0.9);
		System.out.println(2.0-1.9);
		
		System.out.println(3/2);//1
		System.out.println(2/3);//0
		//System.out.println(3/0);
		System.out.println(3.0/0);//Infinity OK 无穷大
		
		System.out.println(3%2);//1
		System.out.println(-3%2);//-1
		System.out.println(2%3);//2
		System.out.println(3.0%0);//NAN (Not A Number)
		
		int age=20;
		System.out.println(age++);
		
		int grade=10;
		System.out.println(++grade);
		
		//System.out.println(300++);常量不能自加
		
		grade +=20;//grade=grade+20
		System.out.println(grade);
		
		/*
		 * int score=98.5; byte lengh=900;
		 */
		
		
		short weight =100;
		//weight+=1;
		//weight=(short)(weight+1);
		
		System.out.println(3==2);
		System.out.println(3!=7);
		System.out.println(3>=0);
		
		System.out.println(weight++>10&&3<100);
		
		
	}

}

二,编程实现两个整数的加减乘除秋雨计算,要求用户输入两个整数
三,用户输入学号姓名,学号,年龄,成绩,要求一句话输出

1.1.2如何使用赋值运算符

一,赋值
  • 两侧类型问题
  • 赋值范围问题
二,扩展的赋值运算符

short a=10;

a+=1;(正确)隐含强制类型转化

a=a+1;等号两边类型不匹配改为a=(short)(a+1),强制类型转化

1.1.3如何使用关系运算符

在这里插入图片描述

1.1.4如何使用逻辑运算符

在这里插入图片描述
在这里插入图片描述

  • false就不输出
  • &一般的与:所有的式子都执行
  • &&短路与:前面的式子能够确定最终结果,后面的就不执行了
  • |一般的或:所有的式子都执行
  • ||短路或:前面的式子能确定最终结果,后面的就不执行了
  • !取反,只能对布尔类型取反

示例:

public class LogicOperator {
	public void calc() {
		int a=100;
		int b=200;
		/*
		 * if (a<38&&++b>10) { System.out.println("&的使用。。。"); }
		 * System.out.println("b的值是:"+b);
		 */
		
		  if(a>38||++b>10) { System.out.println("|的使用。。。"); }
		 
		System.out.println("b的值是"+b);
		/*
		 * if(!(a<80)) { System.out.println("hello"); }
		 */
	}
	public static void main(String[] args) {
		LogicOperator logicOperator=new LogicOperator();
		logicOperator.calc();
	}

}

1.1.5如何使用位运算符

对二进制操作

  • &与
  • |或
  • ^异或

1.1.6如何使用移位运算符

  • 右移 高位补符号位,符号位就是开头的数字,1为负,0为正

  • <<左移 低位补0

  • 无符号右移 高位一律补0

第二部分——语句

2.1.1 if语句

一,if语法规则

注意:if语句等这些句子后面,如果是变量的定义语句,大括号是必须要加的

if()括号中是Boolean类型

二,基数判断,用户输入一个数,输出是否是奇数

public class Odd {
	/**
	 * 判断一个数是不是基数
	 * @param num 给定的数字
	 * @return 如果是基数则返回true否则返回false
	 */
	public boolean Odd(int num) {
		if (num%2!=0) {
			return true;
			
		}else {
			return false;
		}
	}public static void main(String[] args) {
		Odd odd=new Odd();
		System.out.println(odd.Odd(3));
		System.out.println(odd.Odd(-3));
	}

}

输入数据后判断

public class NewOdd {

	public static void main(String[] args) {
		System.out.println("奇偶数判断");
		Scanner scanner =new Scanner(System.in);
		System.out.println("输入一个整数:");
		int n =scanner.nextInt();
		if(n%2!=0) {
			System.out.println("是奇数");
			
		} else {
			System.out.println("是偶数");
			
		}
	
	}

}

if else语句

1.用户输入成绩,如果大于等于60输出及格,否则输出不及格

public class Grade {
	/**
	 * 输入,判断成绩是否及格
	 * @param n输入的成绩
	 */
	public void grade(int n) {
		if(n>60) {
			System.out.println("及格");
		}else if(n<60){
			System.out.println("不及格");
		}
	}
	public static void main(String[] args) {
		System.out.println("成绩");
		Scanner scanner=new Scanner(System.in);
		System.out.println("输入一个学生成绩:");
		int g=scanner.nextInt();
		Grade grade =new Grade();
		grade.grade(g);
		
	}

}

2.输入数学,英语,政治成绩,判断考研是否成功

public class Test {
	/**
	 * 输入英语,数学,政治,专业课成绩,判断考研是否成功
	 * @param sum总和
	 */
	public void mark(int e,int m,int z,int i) {
		int sum=e+m+z+i;
		System.out.println("您的总成绩为:"+sum);
		if(sum>=280) {
			System.out.println("祝你考研成功!");
		} else if (sum<280) {
			System.out.println("真的是太遗憾了,继续努力!");
		}
		
	}
	public static void main(String[] args) {
		System.out.println("判断考研是否成功");
		Scanner scanner =new Scanner(System.in);
		System.out.println("请依次输入英语,数学,政治,专业课成绩");
		int e =scanner.nextInt();
		int m =scanner.nextInt();
		int z =scanner.nextInt();
		int i =scanner.nextInt();
		Test t=new Test();
		t.mark(e, m, z, i);
		
		
	}

}

2.1.2 switch语句

一,switch语法规则

  • break可有可无

  • default可有可无

  • default的位置不一定在最后

  • switch的括号里面可以是那种数据类型?

    byte,short,int。char,String

    switch的括号中可以放整数和字符串,错!!!!在switch的括号中不能是长整型

public class SwitchDemo {
	public static void main(String[] args) {
		int age =200;
		switch(age) {
			case 10:
				System.out.println("年龄是10");
				break;
			default:
				System.out.println("都没有匹配");
				break;
			case 20:
				System.out.println("年龄是20");
				break;//break可有可无
			case 30:
			case 40:
				System.out.println("年龄是30");
				break ;
		}
		String name="fwz";
		switch (name) {
		case"fwz":
			System.out.println("abc");
		}
	}

}

二,根据成绩等级输出分数段

public class Grade {
	/**
	 * 输入,判断成绩是否及格
	 * @param n输入的成绩
	 */
	public void grade(int n) {
		if(n>60) {
			System.out.println("及格");
		}else if(n<60){
			System.out.println("不及格");
		}
	}
	public static void main(String[] args) {
		System.out.println("成绩");
		Scanner scanner=new Scanner(System.in);
		System.out.println("输入一个学生成绩:");
		int g=scanner.nextInt();
		Grade grade =new Grade();
		grade.grade(g);
		
	}

}

三,用户输入年份和月份,程序输出该月的天数

public class Day {
	/**
	 * 计算闰年和非闰年各个年份月份天数
	 * 
	 * @param year  年份
	 * @param month 月份
	 */
	public void day(int year, int month) {
		int a = 4;
		int b = 100;
		boolean x;
		x=(year % a == 0 && year % b != 0);
		if (x||year%(a*b)==0) {
			switch (month) {
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				System.out.println(year + "年的" + month + "月的" + "天数是:" + "31");
				break;
			case 4:
			case 6:
			case 9:
			case 11:
				System.out.println(year + "年的" + month + "月的" + "天数是:" + "30");
				break;
			case 2:
				System.out.println(year + "年的" + month + "月的" + "天数是:" + "29");
				break;
			default:
			}
		} else {
			switch (month) {
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				System.out.println(year + "的" + month + "的" + "天数是:" + "31");
				break;
			case 4:
			case 6:
			case 9:
			case 11:
				System.out.println(year + "的" + month + "的" + "天数是:" + "30");
				break;
			case 2:
				System.out.println(year + "的" + month + "的" + "天数是:" + "28");
				break;
			default:
			}

		}
	}

	public static void main(String[] args) {
		System.out.println("天数小程序");
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入您想查询的年份和月份:");
		int y = scanner.nextInt();
		int m = scanner.nextInt();
		Day day = new Day();
		day.day(y, m);
	}

}

2.1.3 for语句

一,for语句规则

结束循环的方式有哪些?break,return,system.exit(0)

public class ForDemo {
	public int getA() {
		return 1;
	}
	public boolean getB() {
		return true;
	}
	public void getC() {
		
	}
	public void test() {
		for (getA();getB();getC()) {
			System.out.println("hello");
		}
	}
	public static void main(String[] args) {
		/*
		 * for(;;) { System.out.println("success..."); }
		 */
		for (int i=0;i<10;i++) {
			System.out.println(i);
			if(i==7) {
				break;//结束整个循环
				//continue;结束本次循环
			}
			System.out.println("9090");
		}
		if(2>0);
		http://www.qq.com
		for (int i=0;i<10;i++) 
		{
			System.out.println("hello");
			
		}
	}

}

二,计算1+2+3+……500的和

public class Add {
	/**
	 * 计算0-500的和
	 * @param result 和
	 * @return 和
	 */
	public int add(int sum) {
		int a=500;
		for(int i=0;i<=a;i++) {
			sum += i;
		}
		return sum;
	}
	public static void main(String[] args) {
		Add add=new Add();
		System.out.println(add.add(0));
	}

}

的和

2.1.4 break/continue语句

break 可以结束整个循环

continue可以结束本次循环

一,计算1-50以内的奇数相加

public class OddSum {
	/**
	 * 计算0-50奇数的和
	 * @param sum
	 */
	public void odd(int sum) {
		int a=50;
			for(int i=0;i<a;i++) {
				if(i%2==1) {
					sum += i;
				}	
				
		}
			System.out.println(sum);
	}
	public static void main(String[] args) {
		OddSum oddSum= new OddSum();
		oddSum.odd(0);
	}

}

二,计算1-50以内的奇数相加,和大于90终止计算

public class DifSumOdd {
	/**
	 * 计算0-50的奇数和到90输出,运用break
	 * @param sum和
	 */
	public void odd(int sum) {
		int a = 90;
		int x = 50;
		for (int i = 0; i < x; i++) {
			if (i % 2 == 1) {
				sum += i;
				if (sum > a) {
					break;
				}
			}
		}
		System.out.println(sum);

	}

	public static void main(String[] args) {
		DifSumOdd difSumOdd = new DifSumOdd();
		difSumOdd.odd(0);

	}

}

2.1.5 while语句

一,语法规则

先看条件在执行,注意变量定义要加大括号。

public class WhileDemo {
	public static void main(String[] args) {
		int i =100;
		/*
		 * while(i<20) ;{ System.out.println("China"); i++; }
		 */
		/*
		 * while (true) {
		 * 
		 * }
		 */
		do {
			System.out.println("hello");
			i++;
		}	while(i<10);
		while (i<10) {
			int age=90;
		}
	}
}

二,猜数字

public class Guess {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请猜一个0-10的数字:");
		while (true) {
			int a = scanner.nextInt();
			if (a > 5) {
				System.out.println("猜大了");
			} else if (a < 5) {
				System.out.println("猜小了");
			} else {
				System.out.println("猜对了");
			}

		}
	}

}

2.1.6 do while语句

一,语法规则

先执行在看条件,注意变量定义要加大括号。

二,猜数字数字

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值