
在 java 中,凡是参加的逻辑运算的都必须得是 boolean 类型,比如说不能这样子:
int a = 0;
int b = 0;
if(a && b) // 报错,因为a和b都是int类型,不能参与逻辑运算
//.....正确的写法:
int a = 0;
int b = 0;
if(a == 0 && b == 0)
//.....在 java 中多了一个无符号右移:
>>>: 最右侧位不要了,最左侧补 0>>:最右侧位不要了,最左侧补符号位(正数补0, 负数补1)<<:最左侧位不要了,最右侧补 0。2和表达式3的结果要是同类型的,除非能发生类型隐式转换int a = 10;
int b = 20;
int c = a > b? 1 : 2.0; // ❌c应该是double类型才对int a = 10;
int b = 20;
a > b ? a : b; // ❌表达式未被使用long 、float 、double 、boolean 类型不支持 switch 语句case 中要加 breakcase 后的常量值不可以重复switch 不能表达复杂的条件switch 语句的System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出println 输出的内容自带 \n, 而 print 不带 \nprintf 的格式化输出方式和C语言的 printf 是基本一致的 使用 Scanner 类可以读取字符串、整数、浮点数:
import java.util.Scanner; // 需要导入 util 包
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine();
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
System.out.println("请输入你的工资:");
float salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
sc.close(); // 注意, 要记得调用关闭方法
// 执行结果
请输入你的姓名:
张三
请输入你的年龄:
18
请输入你的工资:
1000
你的信息如下:
姓名: 张三
年龄:18
工资:1000.0下面是 next() 和 nextLine() 的区别:
特性 | next() | nextLine() |
|---|---|---|
读取内容 | 读取一个单词,遇到空白符(空格、Tab、回车)就停止 | 读取整行,直到回车为止 |
是否包括回车 | 不包括回车符(回车留在输入缓冲区中) | 包括回车符 |
空格行为 | 忽略前导空格,只读第一个单词 | 会读取整行,包括空格 |
适合用来做什么 | 读取一个词,如用户名、命令等 | 读取整行内容,如一句话、一段文本输入 |
next() 吃词不吃行nextLine() 吃行吃回车nextLine() 来兜底方法就是一个代码片段,类似于C语言中的 "函数"。
修饰符 返回值类型 方法名称([参数类型 形参 ...]) {
方法体代码;
[return 返回值];
}格式解释:
public static 固定搭配void注意事项:
java中,方法必须写在类当中java中,方法不能嵌套定义java中,没有方法声明的说法在同一个作用域中不能定义两个相同名称的标识符。比如:方法中不能定义两个名字一样的变量,那为什么类中就可以定义方法名相同的方法呢❓❓❓
方法签名即经过编译器编译修改过之后方法最终的名字。具体方式:方法全路径名 + 参数列表 + 返回值类型,构成方法完整的名字。
public class TestMethod {
public static int add(int x, int y){
return x + y;
}
public static double add(double x, double y){
return x + y;
}
public static void main(String[] args) {
add(1,2);
add(1.5, 2.5);
}
}上述代码经过编译之后,然后使用 JDK 自带的 javap 反汇编工具查看,具体操作:
.class 字节码文件.class所在的目录javap -v 字节码文件名字 
方法签名中的一些特殊符号如下表所示:
特殊字符 | 数据类型 |
|---|---|
V | void |
Z | boolean |
B | byte |
C | char |
S | short |
I | int |
J | long |
F | float |
D | double |
[ | 数组:以 [ 开头,配合其他的特殊字符,表述对应数据类型的数组,几个 [ 表述几维数组 |
L | 引用类型:以 L 开头,以 ; 结尾,中间是引用类型的全类名 |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。