1、运算符
算术运算符
+ - * / % ++ --
赋值运算符
= += -= *= /= %=
比较运算符
> < >= <= == !=
逻辑运算符
&& || !
2、三元运算符
数据类型 变量名 = 布尔类型表达式?结果1:结果2
三元运算符计算方式:
布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
public static void main(String[] args) {
int i = (1==2 ? 100 : 200);
System.out.println(i);//200
int j = (3<=4 ? 500 : 600);
System.out.println(j);//500
}
3、方法入门
修饰符 返回值类型 方法名 (参数列表){
代码...
return ;
}
public static void main(String[] args) {
//调用定义的方法operator
operator();
}
//定义方法,方法中定义三元运算符
public static void operator() {
int i = 0;
i = (1==2 ? 100:200);
System.out.println(i);
int j = 0 ;
j = (3<=4 ? 500:600);
System.out.println(j);
}
--方法必须定义在类中,且在另一个方法之外不能嵌套
4、jshell的使用
直接在cmd中输入 jshell可以打开一个类似于python交互环境的shell工具,可以用来测试java片段
5、‘强烈建议所有整数值定义为int 所有浮点值定义为double,以避免出现错误
6、流程控制
--程序体 for while switch if 等程序体被包括在{}中,后面不加上;
1、顺序流程
--从上至下依次执行
2、条件选择流程
--1、简单条件判断
if ()
{}
--2、if else条件判断
if ()
{}
else
{}
--3、if else if else 最复杂条件判断
public static void main(String[] args) {
int score = 100;
if(score<0 || score>100){
System.out.println("你的成绩是错误的");
}else if(score>=90 && score<=100){
System.out.println("你的成绩属于优秀");
}else if(score>=80 && score<90){
System.out.println("你的成绩属于好");
}else if(score>=70 && score<80){
System.out.println("你的成绩属于良");
}else if(score>=60 && score<70){
System.out.println("你的成绩属于及格");
}else {
System.out.println("你的成绩属于不及格");
}
}}
3、switch流程
--1、case穿透,所以一般理清楚逻辑合理使用break
其实default是可以不加的,但是会出现warning
switch(表达式){
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
case 常量值3:
语句体3;
break;
... ...
default:
语句体n+1;
break;
}
--表达式的值可以为byte short int char enum(枚举) jdk7之后可以有字符串
public static void main(String[] args) {
String[] week01 = {"monsday", "thursday", "wendesday"};
switch (week01[0]) {
case "monsday":
System.out.println("monsday");
break;
case "thursday":
System.out.println("thursday");
break;
case "wendesday":
System.out.println("wendesday");
break;
default:
System.out.println("hahahah");
break;
}
}
4、循环流程
--1、for循环
for(初始化表达式; 布尔表达式; 步进表达式){
循环体
}
--下面这个案例主要包括循环 和 打印函数简写部分,不再需要引入System
import static java.lang.System.out;
public class ForNum {
public static void main(String[] args){
int num = 100;
int sum = 0;
for(int i=0; i < num; i++){
sum += 1;
}
out.println(sum);
}
}
--2、while循环
初始化表达式;
while(布尔表达式){
循环体
步进表达式
}
int i = 0;
while(i < 50){
out.println("黎明"+i);
i++;
}
--3、do while
初始化表达式
do{
循环体
步进表达式
}while(布尔表达式);
int i = 0;
do{
System.out.println(i);
i++;
}while(i < 10);
总结一下:
while | do while这两个和for相比有两个特点:
1、while中控制循环的变量i在循环结束以后还可以获取得到,for循环中那个控制循环的变量在结束以后无法获取
2、循环字数已知的时候选择for,循环次数未知的时候选择while
--break:结束循环体
--continue:结束本次循环
--当不知道什么时候结束时,可以使用死循环+break
--嵌套循环执行次数=循环1次数 * 循环2次数
7、方法
定义方法的格式详解
修饰符 返回值类型 方法名(参数列表){
//代码省略...
return 结果;
}
默认使用 public static
public static int getSum(int a, int b) {
return a + b;
}
--返回值类型和return返回值的必须一致
--return就是一个方法最后一句,后面的都不会执行
--三种调用方式:
--直接调用:没有返回值,直接运行这个方法块,实现一定的功能调用
--赋值调用:有返回值,需要定义一个变量接受返回值
--输出调用:System.ouy.println(方法()),这里方法必须有返回值
--方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返
回值类型无关。
--参数列表:个数不同,数据类型不同,顺序不同。
--重载方法调用:JVM通过方法的参数列表,调用不同的方法。
public static void println(byte a) {
System.out.println(a);
}
public static void println(short a) {
System.out.println(a);
}
public static void println(int a) {
System.out.println(a);
}
public static void println(long a) {
System.out.println(a);
}
public static void println(float a) {
System.out.println(a);
}
public static void println(double a) {
System.out.println(a);
}
public static void println(char a) {
System.out.println(a);
}
public static void println(boolean a) {
System.out.println(a);
}
public static void println(String a) {
System.out.println(a);
}