1、运算符
1_1、算数运算符
(1)、偶数 对2 取余得到 0 奇数对2 取余得到 1
1 3 5 7 9 对2 取余 1
2 4 6 8 对2 取余 0
(2)、如果想要得到小数 必须要有小数参与运算
注意:
整数之间参与运算只能得到整数
如果想要得到小数 必须要有小数参与运算
(3)、间参与运算只能得到整数
A、%--个数之间的余数
B、/--两个数之间的商
(4)、算术运算符---+ - * / %(取余,模运算 取模)
(5)、用来操作 常量或者 变量的符号
1_2、自增自减运算符
++自增
例:int a = 1;
a ++;相当于 a = a + 1;
最终将结果是2;
--自减
例:int a = 1;
a --;相当于 a = a - 1;
最终将结果是0;
++ -- 在前与在后的区别
(1)、单独使用 没有区别
(2)、与其他运算符参与运算
a、在前--拿到的是 ++ --之后的值参与运算(先运算,再操作)
b、在后--拿到的是 ++ --之前的值参与运算(先操作,在运算)
1_3、赋值运算符
(1)、=
(2)、扩展赋值运算符
a、+= -= *= /= %=
b、隐藏功能--具有强转的功能
1_4、关系运算符
(1)、== != < <= > >=
(2)、结果是一个boolean类型
1_5、逻辑运算符
(1)、用来连接 关系表达式的
(2)、结果是boolean类型
(3)、关系表达式:用关系运算符连接的式子
(4)、&& || !(与或非)
(5)、&&---有false则false
(6)、||---有true则true
(7)、!---false则true true则false
a、与原先 不一样 相反
b、两个!双重否定
(8)、& | ^(异或)--但是 这么多老师 开发多年 从来没用过
1_6、三元运算符
//三元运算符-->关系表达式? 表达式1:表达式2;
/*
* 如果关系表达式结果是true返回 表达式1
* 如果关系表达式结果是false返回 表达式2
*/
//int a = 10;
//int b = 20;
//int c = a > b? a:b;
//System.out.println(c);
//唐三 番茄 辰东 唐三 --> 番茄 番茄 --> 辰东 辰东
int a = 10;
int b = 50;
int c = 30;
int max = 0;
//a与c比较获取较大值
max = a > b ? a : b;
//max跟c比较 max是较大值 结果就是最大值
max = max > c? max:c;
System.out.println(max);
2、Scanner键盘输入
//1,倒包package下 public class上
import java.util.Scanner;
//注意 以后没学习一个新的类 都不能直接拿过来做类名
public class ScannerDemo {
public static void main(String[] args) {
//2 创建对象 sc 就是一个变量
Scanner sc = new Scanner(System.in);
//3 调用方法
System.out.println("请您输入一个数字:");
int a = sc.nextInt();
System.out.println("您输入的数字是:" + a);
}
}
3、流程控制语句
3_1、顺序流程控制语句---顺序流程控制语句
3_2、流程控制语句
(1) 、if语句1
/*
* if(关系表达式){
* 语句体
* }
* 其他语句体
*
* 首先拿到关系表达式的结果
* 如果是 true 则执行 大括号内的代码
* 如果是false 则不执行 接着去执行其他语句体
*/
int a = 10;
int b = 20;
if(a < b){
System.out.println("a比b小");
}
System.out.println("我是其他语句体");
(2) 、if语句2
package com.itheima._04;
import java.util.Scanner;
public class IfDemo2 {
public static void main(String[] args) {
/*
* if(关系表达式){
* 语句体1;
* }else{
* 语句体2;
* }
*
* 1,先拿到关系表达式的值
* 2,如果是 true 则执行 语句体1;
* 3,如果是 false则执行 语句体2;
*/
//键盘输入两个整数 获取最大值并输出
//键盘输入三个整数 获取最大值并输出
//键盘输入三个整数 a b c 然后 输出 a b c 三个变量 a为最大值 b为中间值 c 为最小值
//例如:键盘录入 a = 10 b = 30 c = 5 最终 System.out.println(a + "---" + b + "---" + c);的结果为 30---10---5
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数");
int a = sc.nextInt();
System.out.println("请输入第二个整数");
int b = sc.nextInt();
System.out.println("请输入第三个整数");
int c = sc.nextInt();
//if 交换的思想
int temp = 0;
if (a < b) {
temp = a;
a = b;
b = temp;
}
if(b < c){
temp = c;
c = b;
b = temp;
}
if(a < b){
temp = b;
b = a;
a = temp;
}
System.out.println(a + "---" + b + "---" + c);
}
}
(3) 、if语句3
package com.itheima;
/*
* 格式3:
* if(关系表达式1) {
* 语句体1;
* }else if(关系表达式2) {
* 语句体2;
* }
* ...
* else {
* 语句体n+1;
* }
*
* 执行流程:
* A:计算关系表达式1的值,看是true还是false
* B:如果是true,就执行语句体1
* C:如果是false,就继续计算关系表达式2的值,看是true还是false
* D:如果是true,就执行语句体2
* E:如果是false,就继续计算...
* F:所有的关系表达式的结果都是false,执行语句体n+1
*/
public class IfDemo3 {
public static void main(String[] args) {
System.out.println("开始");
//假如x和y满足如下的关系:
//x>=3y=2x+1
//-1<=x<3y=2x
//x<-1y=2x-1
//根据给定的x的值,计算出y的值
int x = 5;
x = 0;
x = -5;
//定义变量y
int y;
if(x >= 3) {
y = 2*x+1;
}else if(x>=-1 && x<3) {
y = 2*x;
}else if(x<-1) {
y = 2*x-1;
}else {
y = 0;
System.out.println("不存在这样的x的值");
}
System.out.println("y:"+y);
System.out.println("结束");
}
}
(4) 、switch语句
package com.itheima._05;
public class SwitchDemo {
public static void main(String[] args) {
/*
* switch(表达式){
* case 值1:
* 语句体1;
*break;
*case 值2:
* 语句体2;
*break;
*case 值3:
* 语句体3;
*break;
* ...
*default:
* 语句体 n+1;
break;
* }
* 首先 获取表达式的 值
* 如果 值 与 值1 相同 执行 语句体1; 在执行 break; 然后 switch语句结束
* 如果 不同 则 接着往下判断 直到结果匹配上 遇到break时 switch语句结束
* 如果 都没能匹配成功 走 default 内的 语句体 n+1;
* 如果 没有 default 执行到最后一个 大括号 switch语句结束
* 表达式 byte char short int
* jdk 1.5以后 枚举
* jdk 1.7以后 字符串
*/
int a = 2;
switch(a + 2){
case 1:
System.out.println("a是1");
break;
case 2:
System.out.println("a是2");
break;
case 3:
System.out.println("a是3");
break;
}
System.out.println("其他语句");
}
}