Java 标识符
Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
关于 Java 标识符,有以下几点需要注意:
- 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
- 关键字不能用作标识符
- 标识符是大小写敏感的(区分大小写)
合法标识符举例:age、$salary、_value、__1_value
非法标识符举例:123abc、-salary
Java 关键字
有一些专门的词汇,Java语言已经赋予了特定的含义,只能用于特定的地方。所以程序员在编写程序时,不能再使用这些词汇来命名标识符,不能改变这些词汇的含义。
下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
类别 | 关键字 | 说明 |
访问控制 | private | 私有的 |
protected | 受保护的 | |
public | 公共的 | |
default | 默认 | |
类、方法和变量修饰符 | abstract | 声明抽象 |
class | 类 | |
extends | 扩充,继承 | |
final | 最终值,不可改变的 | |
implements | 实现(接口) | |
interface | 接口 | |
native | 本地,原生方法(非 Java 实现) | |
new | 新,创建 | |
static | 静态 | |
strictfp | 严格,精准 | |
synchronized | 线程,同步 | |
transient | 短暂 | |
volatile | 易失 | |
程序控制语句 | break | 跳出循环 |
case | 定义一个值以供 switch 选择 | |
continue | 继续 | |
default | 默认 | |
do | 运行 | |
else | 否则 | |
for | 循环 | |
if | 如果 | |
instanceof | 实例 | |
return | 返回 | |
switch | 根据值选择执行 | |
while | 循环 | |
错误处理 | assert | 断言表达式是否为真 |
catch | 捕捉异常 | |
finally | 有没有异常都执行 | |
throw | 抛出一个异常对象 | |
throws | 声明一个异常可能被抛出 | |
try | 捕获异常 | |
包相关 | import | 引入 |
package | 包 | |
基本类型 | boolean | 布尔型 |
byte | 字节型 | |
char | 字符型 | |
double | 双精度浮点 | |
float | 单精度浮点 | |
int | 整型 | |
long | 长整型 | |
short | 短整型 | |
变量引用 | super | 父类,超类 |
this | 本类 | |
void | 无返回值 | |
保留关键字 | goto | 是关键字,但不能使用 |
const | 是关键字,但不能使用 | |
注意:Java 的 null 不是关键字,类似于 true 和 false,它是一个字面常量,不允许作为标识符使用。保留关键字是现在没有特殊含义,将来有可能被赋予特殊含义的词汇:goto const
常量与变量
什么是常量?
常量指在程序执行期间其值不能发生变化的数据。 如:整数123,小数1.23,字符’A’,布尔常量 true、false、PI=3.1415926等。
什么是变量?
变量是指值在程序运行期间可以被改变的量。在程序中使用变量,必须先创建它并为它取一个名字,并且指明它能够存储信息的类型,这称为“变量声明”。要在程序中声明一个变量,其语法形式如下:
变量类型 变量标识符;
如:String name;
数据类型
在声明变量时,要指明变量的类型。不同的类型在内存中分配的空间大小也不同。
下图是Java数据类型的分类表:
编辑
基本数据类型(8种)
- 整数类型(byte 、short、int、long)
- 浮点数类型(float、double)
- 布尔类型(boolean)
- 字符类型(char)
代码示例
示例一 整数类型
public class TestType1 { public static void main(String[] args) { byte b=123; short s=30000; int i=12; //十进制 int i8=012;//八进制 int i16=0x12;//十六进制 long l1=1000L; long l2=1000l; long l3=1000; System.out.println(b); //123 System.out.println(s); //30000 System.out.println(i); //12 System.out.println(i8); //10 System.out.println(i16); //16 System.out.println(l1); //1000 System.out.println(l2); //1000 System.out.println(l3); //1000 } }
示例二 浮点数类型
public class TestType2 { public static void main(String[] args) { float f=100; float f1=100f; float f2=100F; double d=2000f; double d0=2000F; double d1=2000; double d2 =2000d; double d3 =2000D; System.out.println(f); //100.0 System.out.println(f1); //100.0 System.out.println(f2); //100.0 System.out.println(d); //2000.0 System.out.println(d0); //2000.0 System.out.println(d1); //2000.0 System.out.println(d2); //2000.0 System.out.println(d3); //2000.0 } }
示例三 布尔类型 和 字符类型
public class TestType3 { public static void main(String[] args) { boolean b=true; boolean b1=false; char c='a'; //任意单个字符,加单引号 char c1='1'; //任意单个字符,加单引号 char c2='你'; //任意单个中文字,加单引号 char c3=65; //整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符。 System.out.println(b); //true System.out.println(b1); //false System.out.println(c); //a System.out.println(c1); //1 System.out.println(c2); //你 System.out.println(c3); //A } }
部分 ASCII 字符编码表展示
编辑
类型转换
自动类型转换(也叫隐式类型转换)
把小数据存储到大容器中,小数据会自动提升为大类型的数据,byte short char转int float转double。 所有的整数都可以自动转换为浮点类型,所有的byte型、short型和char的值将被提升到int型。
强制类型转换(显式也叫类型转换)
大数据存储到小类型容器中,必须强制转换,比如 int 转short ,double 转float。
代码示例
double d=123.456; int i=(int)d;
思考
char c = 'A'; char b = c+1;//错误 char b = (char)(c+1);//正确
运算符
运算符的定义
运算符是一种特殊符号,用以表示数据的运算、赋值和比较。
运算符的分类
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 三目(条件)运算符
算数运算符
编辑
赋值运算符
代码示例
int x=20; int y=x+1; int x=x+20; x+=20; x-=20; x=x-20;
编辑
比较运算符
总共有大于、小于、小于等于、大于等于、等于、不等于6种。
> 、 < 、 <=、>=、==、!=
比较运算符的结果都是boolean型,也就是true或false。
比较运算符 == 不能误写成 = ,切记!切记!
逻辑运算符
逻辑运算符的结果都是boolean型,也就是要么是true,要么是false
编辑
位运算符
Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。
位运算符作用在所有的位上,并且按位运算。假设a = 60,b = 13;它们的二进制格式表示将如下:
A = 0011 1100 B = 0000 1101 ----------------- A&B = 0000 1100 A | B = 0011 1101 A ^ B = 0011 0001 ~A= 1100 0011
下表列出了位运算符的基本运算,假设整数变量 A 的值为 60 和变量 B 的值为 13:
操作符 | 描述 | 例子 |
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
| | 如果相对应位都是 0,则结果为 0,否则为 1 | (A | B)得到61,即 0011 1101 |
^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | (〜A)得到-61,即1100 0011 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2得到240,即 1111 0000 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2得到15即 1111 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 | A>>>2得到15即0000 1111 |
实例
下面的简单示例程序演示了位运算符。复制并粘贴下面的Java程序并保存为Test.java文件,然后编译并运行这个程序:
Test.java 文件代码:
public class Test { public static void main(String[] args) { int a = 60; /* 60 = 0011 1100 */ int b = 13; /* 13 = 0000 1101 */ int c = 0; c = a & b; /* 12 = 0000 1100 */ System.out.println("a & b = " + c ); c = a | b; /* 61 = 0011 1101 */ System.out.println("a | b = " + c ); c = a ^ b; /* 49 = 0011 0001 */ System.out.println("a ^ b = " + c ); c = ~a; /*-61 = 1100 0011 */ System.out.println("~a = " + c ); c = a << 2; /* 240 = 1111 0000 */ System.out.println("a << 2 = " + c ); c = a >> 2; /* 15 = 1111 */ System.out.println("a >> 2 = " + c ); c = a >>> 2; /* 15 = 0000 1111 */ System.out.println("a >>> 2 = " + c ); } }
以上实例编译运行结果如下:
a & b = 12 a | b = 61 a ^ b = 49 ~a = -61 a << 2 = 240 a >> 2 = 15 a >>> 2 = 15
三目运算符
三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,有时又称为三元运算符。
语法格式
boolean x = (条件判断) ? value1 : value2;
例子
boolean x=1>2?true:false; int x1=5>2?1:0; char x2=2==1?'t':'f';
表达式
使用运算符将运算数据连接起来的符合Java语法规则的式子。
如 x = y + z; c=a*b; 等
新手有不明白的地方,请在评论区留言,大佬有发现部队的地方,请在评论区留言!!!