关键字和保留字
-
enum: 用于定义一组固定的常量(枚举)。
-
abstract: 用于声明抽象类,以及抽象方法。
-
break: 用于中断循环或 switch 语句。
-
catch: 用于捕获 try 语句中的异常。
-
continue: 用于继续下一个循环,可以在指定条件下跳过其余代码。
-
default: 用于指定 switch 语句中除去 case 条件之外的默认代码块。
-
extends: 用于指示一个类是从另一个类或接口继承的。
-
final: 用于指示该变量是不可更改的。
-
finally: 和
try-catch
配合使用,表示无论是否处理异常,总是执行 finally 块中的代码。 -
implements: 用于实现接口。
-
import: 用于导入对应的类或者接口。
-
instanceof: 用于判断对象是否属于某个类型(class)。
-
interface: 用于声明接口。
-
native: 用于指定一个方法是通过调用本机接口(非 Java)实现的。
-
new: 用于创建一个新的对象。
-
package: 用于声明类所在的包。
-
private: 一个访问权限修饰符,表示方法或变量只对当前类可见。
-
protected: 一个访问权限修饰符,表示方法或变量对同一包内的类和所有子类可见。
-
public: 一个访问权限修饰符,除了可以声明方法和变量(所有类可见),还可以声明类。
main()
方法必须声明为 public。 -
strictfp: 并不常见,通常用于修饰一个方法,确保方法体内的浮点数运算在每个平台上执行的结果相同。
-
static: 表示该变量或方法是静态变量或静态方法。
-
super: 可用于调用父类的方法或者字段。
-
synchronized: 用于指定多线程代码中的同步方法、变量或者代码块。
-
this: 可用于在方法或构造函数中引用当前对象。
-
throw: 主动抛出异常。
-
throws: 用于声明异常。
-
transient: 修饰的字段不会被序列化。
-
volatile: 保证不同线程对它修饰的变量进行操作时的可见性,即一个线程修改了某个变量的值,新值对其他线程来说是立即可见的。
“goto 在 C语言中叫做‘无限跳转’语句,在 Java 中,不再使用 goto 语句,因为无限跳转会破坏程序结构。”
“const 在 C语言中是声明常量的关键字,在 Java 中可以使用 public static final 三个关键字的组合来达到常量的效果。”
Java命名规范
Service/DAO 层的方法命名规约:
-
获取单个对象的方法用 get 做前缀
-
获取多个对象的方法用 list 做前缀,复数结尾,如:listObjects
-
获取统计值的方法用 count 做前缀
-
插入的方法用 save/insert 做前缀
-
删除的方法用 remove/delete 做前缀
-
修改的方法用 update 做前缀
Java中的数据类型
1)基本数据类型。
基本数据类型是 Java 语言操作数据的基础,包括 boolean、char、byte、short、int、long、float 和 double,共 8 种。
2)引用数据类型。
除了基本数据类型以外的类型,都是所谓的引用类型。常见的有数组(对,没错,数组是引用类型)、class(也就是类),以及接口(指向的是实现接口的类的对象)。
关于 int 和 char 类型互转
2)可以使用 Character.forDigit()
方法将整型 int 转换为字符 char。
public class SimpleTesting {
public static void main(String[] args) {
//radix 10 is for decimal number, for hexa use radix 16
int radix = 10;
int value_int = 6;
char value_char = Character.forDigit(value_int , radix);
System.out.println(value_char );
}
}
radix 为基数,十进制为 10,十六进制为 16。
3)可以使用 int 的包装器类型 Integer 的 toString() 方法+String 的 CharAt() 方法转成 char
public class SimpleTesting {
public static void main(String[] args) {
int value_int = 1;
char value_char = Integer.toString(value_int).charAt(0);
System.out.println(value_char );
}
}
4)char 转 int
当然了,如果只是简单的 char 转 int,直接赋值就可以了。
int a = 'a';
因为发生了自动类型转换。
Java数据类型转换
在运算过程中,由于不同的数据类型会转换成同一种数据类型,所以整型、浮点型以及字符型都可以参与混合运算。自动转换的规则是从低级类型数据转换成高级类型数据。转换规则如下:
-
数值型数据的转换:byte→short→int→long→float→double。
-
字符型转换为整型:char→int。
以上数据类型的转换遵循从左到右的转换顺序,最终转换成表达式中表示范围最大的变量的数据类型。
自动类型提升有好处,但它也会引起令人疑惑的编译错误。例如,下面看起来正确的程序却会引起问题:
byte b = 50;
b = b * 2; // Type mismatch: cannot convert from int to byte
如上所示,第二行会报“类型不匹配:无法从int转换为byte”错误。
该程序试图将一个完全合法的 byte 型的值 50*2
存储给一个 byte 型的变量。但是当表达式求值的时候,操作数被自动的提升为 int 型,计算结果也被提升为 int 型。这样表达式的结果现在是 int 型,不强制转换它就不能被赋为 byte 型。
所以应该使用一个显示的强制类型转换,例如:
byte b = 50;
b = (byte)(b*2);
这样就能产生正确的值 100。
注意:char 类型比较特殊,char 自动转换成 int、long、float 和 double,但 byte 和 short 不能自动转换为 char,而且 char 也不能自动转换为 byte 或 short。
Java运算符
Java流程控制语句
枚举作为 switch 语句的变量也很常见,来看例子:
public class SwitchEnumDemo {
public enum PlayerTypes {
TENNIS,
FOOTBALL,
BASKETBALL,
UNKNOWN
}
public static void main(String[] args) {
System.out.println(createPlayer(PlayerTypes.BASKETBALL));
}
private static String createPlayer(PlayerTypes playerType) {
switch (playerType) {
case TENNIS:
return "网球运动员费德勒";
case FOOTBALL:
return "足球运动员C罗";
case BASKETBALL:
return "篮球运动员詹姆斯";
case UNKNOWN:
throw new IllegalArgumentException("未知");
default:
throw new IllegalArgumentException(
"运动员类型: " + playerType);
}
}
}
输出:
篮球运动员詹姆斯
3)无限 for 循环
“三妹,你想不想体验一下无限 for 循环的威力,也就是死循环。”
“二哥,那会有什么样的后果啊?”
“来,看看就知道了。”
public class InfinitiveForExample {
public static void main(String[] args) {
for(;;){
System.out.println("停不下来。。。。");
}
}
}
输出:
停不下来。。。。
停不下来。。。。
停不下来。。。。
停不下来。。。。
一旦运行起来,就停不下来了,除非强制停止。
break
break 关键字通常用于中断循环或 switch 语句,它在指定条件下中断程序的当前流程。如果是内部循环,则仅中断内部循环。
可以将 break 关键字用于所有类型循环语句中,比如说 for 循环、while 循环,以及 do-while 循环。
用在 for 循环中的示例:
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break;
}
System.out.println(i);
}
用在嵌套 for 循环中的示例:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
break;
}
System.out.println(i + " " + j);
}
}
用在 while 循环中的示例:
int i = 1;
while (i <= 10) {
if (i == 5) {
i++;
break;
}
System.out.println(i);
i++;
}
用在 do-while 循环中的示例:
int j = 1;
do {
if (j == 5) {
j++;
break;
}
System.out.println(j);
j++;
} while (j <= 10);
用在 switch 语句中的示例:
switch (age) {
case 20 :
System.out.println("上学");
break;
case 24 :
System.out.println("苏州工作");
break;
case 30 :
System.out.println("洛阳工作");
break;
default:
System.out.println("未知");
break; // 可省略
}
continue
当我们需要在 for 循环或者 (do)while 循环中立即跳转到下一个循环时,就可以使用 continue 关键字,通常用于跳过指定条件下的循环体,如果循环是嵌套的,仅跳过当前循环。
来个示例:
public class ContinueDemo {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
// 使用 continue 关键字
continue;// 5 将会被跳过
}
System.out.println(i);
}
}
}
输出:
1标签:char,Java,int,基础,System,语法,println,public,out From: https://www.cnblogs.com/chaosssock/p/17134132.html
2
3
4
6
7
8
9
10