一、方法
1.含义
- 特定任务或操作的代码块,代表一个功能(接收数据进行处理并且返回一个结果)。
2.格式
修饰符 返回值类型 方法名(形参列表) 方法体执行代码 返回处理的结果
public static int max(int a,int b){
//方法的修饰符 返回值类型 方法名(形参列表)
int max = a > b ? a : b; //方法体执行代码
return max; //返回处理的结果 }
必须进行调用
3.其他形式
- 是否需要接fan收数据? 需要接收的类型(int 、 long)
- 是否需要返回数据? 需要返回什么类型,无需返回则为void
1.无参无返(void)
public static void printHelloWorld() {
System.out.println("HelloWorld");
}
2.有参有返
public static int add(int a, int b) {
return a + b;
}
4.注意事项
-
方法可以重载 方法重载只关心方法的名称不同,形参列表不同(类型不同、个数不同、顺序不同),其他无所谓。
-
无返回值的方法中可以直接通过单独的return,立即结束当前方法的执行。
二、类型转换
1.自动类型转换和强制类型转换
1.自动类型转换
类型范围小的变量,可以直接赋值给类型范围大的变量。
2.强制类型转换
类型范围大的变量通过强制类型转换为类型范围小的变量。
格式: 数据类型 变量 = (数据类型) 变量`
public static void main(String[] args){
byte a;
int b = 257;
a = (byte)b;
System.out.println("a="+a);
System.out.println("b="+b);
}
2.表达式的自动类型提升
byte,short,char——int——long——float——double
- 在表达式中,byte,short,char类型会直接转换成int型参与运算;
- 表达式的最终结果类型有表达式中的最高类型决定;
三、输入输出
1.输入格式
Scanner sc = new Scanner(System.in);//照抄数据类型 数据名称 = sc.nextInt() 读取整数,sc.nextDouble() 读取浮点数,sc.nextLine() 读取一行字符串
eg:String name = sc.nextLine();
2.输出格式
System.out.println(变量名+"原样输出的内容");//输出内容后自动换行
System.out.print(变量名+"输出的内容");//输出内容后不自动换行
*原样输出的用“ ”,和要输出的数据的变量名之间用+连接
示例:
package com.hemyjj.scanner; //1.导包(可以自动创建,无需操作)
import java.util.Scanner; public class ScannerDemo1 {
public static void main(String[] args) {
printUserInfo();
}
//目标:写一个程序,可以让用户键盘输入用户名和年龄,然后打印出来
public static void printUserInfo() {
//2.创建Scanner对象(直接抄写,无需改变,得到一个scanner扫描器对象)
Scanner sc = new Scanner(System.in);
//3.调用Scanner对象的方法nextLine()
System.out.println("请输入用户名:");
String name = sc.nextLine();
System.out.println("请输入年龄:");
int age = sc.nextInt();
//4.输出结果 System.out.println("name = " + name);
System.out.println("age = " + age);
}
}
四、运算符
1.基础运算符(相当于数学运算)
- +、-、*、/、%(取余)
- 两个整数相除结果一定为整数
- + 可做连接符(能算则算,不能算就连接)
2.自增自减运算符
自增运算符 ++ 用于将变量的值增加 1。--自减运算符用于将变量的值减少 1
它可以分为两种形式:
- 前缀自增 (++a):先增加变量的值,然后再使用新的值。
- 后缀自增 (a++):先使用变量的当前值,然后再增加变量的值。
public class IncrementExample {
public static void main(String[] args) {
int a = 5;
// 前缀自增
int b = ++a;
System.out.println("a (前缀自增): " + a); // 输出:a (前缀自增): 6
System.out.println("b (前缀自增): " + b); // 输出:b (前缀自增): 6
// 后缀自增
int c = a++;
System.out.println("a (后缀自增): " + a); // 输出:a (后缀自增): 7
System.out.println("c (后缀自增): " + c); // 输出:c (后缀自增): 6
}
}
3.赋值运算符
- a+=b → a=a+b
- a-=b → a=a-b
4.关系运算符(ture、false)
用于比较两个值,并返回一个布尔值(true 或 false)。这些运算符非常有用,尤其是在条件判断和循环中。
-
>、<、>=、<=、== 、!=
- 三元运算符:条件表达式?值1:值2 (表达式为真输出值1,为假输出值2)
5.逻辑运算符
1.逻辑与 (&&) :用于判断两个条件是否同时为真。
如果两个条件都为真,则结果为真。如果任何一个条件为假,则结果为假。
2.逻辑或 (||) :用于判断两个条件中至少有一个为真。
如果两个条件中至少有一个为真,则结果为真。如果两个条件都为假,则结果为假。
3.逻辑非 (!) :用于取反一个布尔表达式的值。
如果原表达式为真,则结果为假。如果原表达式为假,则结果为真。
与 & : 全为真为真
或 | : 一个为真即为真
非 !:取反 异或 ^ :前后结果相同为假,结果不同为真
短路与 &&:左边为false,右边不执行(效率更高)
短路或 ||:左边为true,右边不执行
public class Example {
public static void main(String[] args) {
int age = 18;
boolean hasLicense = true;
// 使用逻辑与
if ((age >= 18) && (hasLicense)) {
System.out.println("您可以开车!");
} else {
System.out.println("您不能开车!");
}
// 使用逻辑或
if ((age >= 18) || (age <= 16)) {
System.out.println("您可以投票!");
} else {
System.out.println("您不能投票!");
}
// 使用逻辑非
if (!hasLicense) {
System.out.println("您没有驾照!");
} else {
System.out.println("您有驾照!");
}
}
}