java-package,运算符,方法(函数)debug调试方法 方法区 栈内存 带参数的定义和调用(行参和实参) 方法重载12
右键新建一个包

再点击文件右上角的齿轮,把紧凑中间包的√去掉,显示多重目录结构

赋值运算符:

package com.demo.operation;
public class assignment {
public static void main(String[] args) {
int nmb = 20;
nmb +=10;
System.out.println(nmb);//30
int nmb2 = 20;
nmb2 -=10;
System.out.println(nmb2);//10
int nmb3 = 20;
nmb3 *=10;
System.out.println(nmb3);//200
int nmb4 = 20;
nmb4 /=10;
System.out.println(nmb4);//2
int nmb5 = 20;
nmb5 %=10;
System.out.println(nmb5);//0
//赋值运算符,内部自带强转效果
double a = 12.3;
int b = 10;
b+=a;
System.out.println(b);//22
}
}
判断运算符:

public class compare {
public static void main(String[] args) {
/*
* 比较运算符
* >
* >=
* <
* <=
* ==
* !=
* */
System.out.println(10>20);//false
System.out.println(10>=20);//false
System.out.println(10<20);//true
System.out.println(10<=20);//true
System.out.println(10==20);//false
System.out.println(10!=20);//true
}
}
逻辑运算符:


package com.demo.operation;
public class logic {
public static void main(String[] args) {
// 与:遇false则false
/*
int score = 95
如果(score >= 95 &score <=100){
}
*/
System.out.println(true & true);//true
System.out.println(true & false);//false
System.out.println(false & true);//false
System.out.println(false & false);//false
System.out.println("--------------------------");
// 或:遇true则true
/*
int id = 3
如果(id == 3|id ==5|id ==12){
}
*/
System.out.println(true | true);//true
System.out.println(true | false);//true
System.out.println(false | true);//true
System.out.println(false | false);//false
System.out.println("--------------------------");
// 非:取反
System.out.println(!true);//false
System.out.println(!false);//true
System.out.println("--------------------------");
// 异或:相同为false,不同为则true
System.out.println(true ^ true);//false
System.out.println(true ^ false);//true
System.out.println(false ^ true);//true
System.out.println(false ^ false);//false
System.out.println("--------------------------");
// 短路与&&:具有短路效果,左边为false,右边则不执行,左边为true,右边继续执行
int a = 3;
int b = 4;
boolean c = a++ > 5 && b-- < 4 ;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println("--------------------------");
// 短路或||:左边为true,右边不执行,左边为false,右边继续执行
}
}
三元运算符:
package com.demo.operation;
import java.util.Scanner;
public class ternary {
/*
* 三元运算符
* 判断条件?值1:值2
* */
public static void main(String[] args) {
/*int a = 10;
int b = 20;
int max = a>b ?a:b;*/
// System.out.println(max);
Scanner sc = new Scanner(System.in);
System.out.println("请输入三个整数");
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
// 计算前面两个最大值
int d = a>b?a:b;
int max = d>c?d:c;
System.out.println(max);
}
}
运算符优先级:

可以用小括号先括起来优先运算

函数:

package com.demo.method;
import java.util.Scanner;
public class function {
public static void main(String[] args) {
/*
* 方法:一段独立的代码块,不调用就不执行
* 好处:不臃肿,按功能分类管理,提高阅读性
* 提高代码复用性
*public static void 方法名() {
* 方法体(逻辑代码)
* }
* 方法调用:
* 方法名();
* 注意事项:
* 1.方法与方法平级,不能嵌套
* 2.不调用不执行
* 3.方法的定义顺序跟执行顺序无关,要看调用顺序
* */
// 调用方法
// 方法3
// 方法aaa
// 方法a2
System.out.println("开始");
ccc();
aaa();
bbb();
max();
min();
System.out.println("结束");
}
public static void aaa() {
System.out.println("方法aaa");
}
public static void bbb() {
System.out.println("方法a2");
}
public static void ccc() {
System.out.println("方法3");
}
public static void max() {
int a = 10;
int b = 20;
int max = a>b ?a:b;
System.out.println(max);
}
public static void min() {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int max = a<b ?a:b;
System.out.println(max);
}
}
用debug进入方法里面测试:
先断点,然后点击像下载标志的步入即可步入,步入后点击第一个回第一个按钮,那个像下载标志的是第二个按钮


2.跳出方法
方法区- 栈内存:
按调用顺序来

带参数的定义和调用:
package com.demo.test;
public class parameter {
public static void main(String[] args) {
a(10,20);
System.out.println("------------");
a(30,80);
}
public static void a(int numb1,int num2) {
int max = numb1>num2?numb1:num2;
System.out.println(max);
}
}


Scanner是面向用户的,方法是面向开发的
package com.demo.test;
public class parameter {
public static void main(String[] args) {
//实参
a(10,20);
System.out.println("------------");
//实参
a(30,80);
}
//形参
public static void a(int numb1,int num2) {
int max = numb1>num2?numb1:num2;
System.out.println(max);
}
}
方法返回
return
为什么会有带返回值的方法:因为我们经常需要带结果的方法去计算其他方法,所以就需要带返回值的方法
package com.demo.test;
public class parameter {
public static void main(String[] args) {
// 接收return数据
int result = a(10,20);
System.out.println(result);
}
//要return数据出去,就不能用void了,得用对应的数据类型
// 返回值类型要写上,没有则写void
public static int a(int numb1,int num2) {
int max = numb1>num2?numb1:num2;
System.out.println(max);
return max;
}
}
最后一个箭头多余的

方法重载:

package com.demo.test;
public class parameter {
public static void main(String[] args) {
// 接收return数据
int result = a(10,20);
System.out.println(result);
}
//要return数据出去,就不能用void了,得用对应的数据类型
// 返回值类型要写上,没有则写void
public static int a(int numb1,int num2) {
int max = numb1>num2?numb1:num2;
System.out.println(max);
return max;
}
// 方法名可以重复,形参不能一样
public static int a(int i1,int num2,int id3) {
int max = i1>num2?i1:num2;
System.out.println(max);
return max;
}
// 方法一样,参数一样,会报错,参数名字更改也会报错
// 例如:
/* public static int a(int i,int n2,int i) {
int max = i1>num2?i1:num2;
System.out.println(max);
return max;
}*/
// 参数类型不一样则可以,如下例
public static double a(double i1,int num2,int id3) {
double max = i1>num2?i1:num2;
System.out.println(max);
return max;
}
}
代码改变了我们,也改变了世界

浙公网安备 33010602011771号