算数运算符
建议:给符号两端预留空格
+ - *
/ 除
% 求余,取模
在生活中 23除7等于3余2
代码中23/7=3
23%7=2
例子:
public static void main (String[] args) {
//46天,包含了几周零几天
int weeks = 46 / 7 ;
int days = 46 % 7 ;
System.out.println(weeks+"\t"+days);
System.out.println("------");
//商场搞活动100当120花,420元符多少钱
// int beishu = 420 / 100 ;
// int yushu = 420 % 100 ;
// int yingai = beishu * 80 + yushu ;
// System.out.println(yingai);
int money = (420 / 120) * 100 + 420 % 120 ;
System.out.println(money);
}
关系运算符(比较运算符):
> < >= <= == !=不等于
单等是赋值语句,双等才是一般意义上的等于
字符串 比较不用== !=,用 equals() !equals()
关系运算符的运算结果全是boolean
例题
System.out.println("------");
//题目:输入张三成绩,与李四(80),输出张三是否比李四高
Scanner input = new Scanner(System.in) ;
System.out.println("请输入张三成绩:");
int zsScore = input.nextInt();
System.out.println( zsScore > 80);
变量:num
表达式:num*122
遇到优先级问题:小括号
System.out.println("------");
//int num 变量; num*3,num+num 表达式
System.out.println( (2+43%6) > (10/3*2) );
//首先思考优先级,但是需要记java运算符优先级,不好记,
// 有歧义,直接先算的括起来,括号优先级最高
System.out.println("------");
小细节:3 >= 2 表示3大于或等于2,所以结果为true,3 >=3 true
例题;关于通项
//题目:输入三位数,求各个位数之和
Scanner inputsanweishu = new Scanner(System.in) ;
System.out.println("请输入三位数:");
int sanweishu = inputsanweishu.nextInt();
int baiwei1 = sanweishu/100;
int shiwei1 = sanweishu/10%10;
int gewei1 = sanweishu%10;
System.out.println(baiwei1+shiwei1+gewei1);
//总结
int num = 12345 ;
int gewei = num/1 %10;//12345->5
int shiwei = num/10 %10;//12345->1234->4
int baiwei = num/100 %10;//12345->123->3
int qianwei = num/1000 %10;//12345->12->2
int wanwei =num/10000 %10;//12345->1->1
//通项:num任意一一位,num、所在位数最小值 %10;
两数交换:中间变量,加减法(有溢出问题),位运算
例题
//题目:两个数交换
int num1 = 10 ;
int num2 = 20 ;
/*方法1,通过中间变量实现交换
int temp = num1;
num1 = num2;
num2 = temp;
*/
/*方法2数学加减,不推荐,相加可能会溢出
num1 = num1 + num2;//30
num2 = num1 - num2;//10
num1 = num1 - num2;//20
*/
//方法3 位运算(效率最高,二进制)
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
System.out.println(num1);
System.out.println(num2);
关于溢出
最大值+1变最小值
最小值-1变最大值
示例:
System.out.println("------");
int max = Integer.MAX_VALUE;//int最大值
int min = Integer.MIN_VALUE;//int最小值
System.out.println("最大值:"+max);
System.out.println("最大值+1:"+(max+1));
System.out.println("最小值"+min);
标签:06,num1,int,System,运算符,num,println,习题,out
From: https://www.cnblogs.com/yuyuaaa/p/17299533.html