1. 定义和调用一个方法
- 定义一个方法的格式非常多,这里先学习比较基础的一种定义方式
public static void 方法名称() {
//方法体
}
方法名称的命名规则和变量一样,使用小驼峰。
- 调用方法
方法名称();
举例
public class Demo09Method {
public static void main(String[] args) {
//调用方法
farmer();
seller();
cook();
me();
}
//定义方法
//在“类名后的大括以内”且在“main函数的大括以外”这个层级来定义方法
//我
public static void me() {
System.out.println("吃");
}
//厨子
public static void cook() {
System.out.println("洗菜");
System.out.println("切菜");
System.out.println("炒菜");
System.out.println("装盘");
}
//商贩
public static void seller() {
System.out.println("运输到农贸市场");
System.out.println("抬高价格");
System.out.println("吆喝");
System.out.println("卖给厨子");
}
//农民伯伯
public static void farmer() {
System.out.println("播种");
System.out.println("浇水");
System.out.println("施肥");
System.out.println("除虫");
System.out.println("收割");
System.out.println("贩卖给商贩");
}
}
//注意:
//1. 方法定义的先后顺序无所谓
//2. 方法的定义不可产生嵌套包含关系 比如不可以在cook里面定义me
2. JDK的jshell
jshell类似于python中的idle,轻量级,在cmd中输入jshell即可进行jshell脚本,在jshell中输入/exit即可推出jshell而重新进入cmd
C:UsersRuanc>jshell
| 欢迎使用 JShell -- 版本 9.0.4
| 要大致了解该版本, 请键入: /help intro
jshell> System.out.println("Hello,World!")
Hello,World!
jshell> int a = 10
a ==> 10
jshell> int b = 20;
b ==> 20
jshell> int result = a * b
result ==> 200
jshell> System.out.println("结果是:"+result)
结果是:200
jshell> /exit
| 再见
C:UsersRuanc>
3. 补充内容
- 第一点
/*
对于byte/short/char三种类型来,如果右侧赋值的数值没有超过范围,那么javac编译器将会自动隐含地为我们补上一个强制类型转换(byte)(short)(char)
1. 如果没有超过左侧的范围,编译器补上强制类型转换
2. 如果右侧超过了左侧的范围,那么直接编译器报错
*/
public class Demo10Notice {
public static void main(String[] args) {
//byte类型
//30是int,但是没有超过byte范围,所以不报错(原因:隐含了一个强制类型转换)
byte num1 = 30;//等效于byte num1 = (byte)30;
System.out.println(num1);//30
//130是int,右侧超过byte的范围
//byte num2 = 130;//报错
//char类型
//65是int,但是没有超过char范围,所以不报错(原因:隐含了一个强制类型转换)
char ch = 65;//等效于char ch = (char)65;
System.out.println(ch);//A
}
}
- 第二点
/*
在给变量进行赋值的时候,若右侧的表达式中全是常量,没有任何变量,那么编辑器javac将会直接将若干个常量表达式计算得到结果。
这称为"编辑器的常量优化"
但是注意:一旦表达式中有变量参与,那么就不能进行这种优化了
*/
public class Demo11Notice {
public static void main(String[] args) {
short a = 5;
short b = 8;
//short+short--->int+int--->result应该是int类型
//short result = a + b;//写法错误
//编辑器的常量优化,虽然5和8默认是int,但是隐含了强制类型转换
short result = 5 + 8;
System.out.println(result);//13
//short result2 = 5 + a + 8;//报错 无法进行常量优化 result2应该定义为int类型
}
}