1基本语法
1.1 标识符、关键字
在程序中用于定义名称的都为标识符,如文件名称、类名称、方法名称或变量名称等。
在Java中标识符的定义格式由字母、数字、_(下划线),$所组成,不能以数字开头,
不能是Java中的关键字(小写的public 是关键字,可以定义变量为大写Public ,但不推荐),而且每一个标识符都要有自己的意义,如StudentName,表示的是学生姓名,最好是驼峰命名法。
public,class等,在编辑器中呈蓝色,是关键字
String,System等,在编辑器中呈红色,是类名
注意:标识符区分大小写。
在定义标识符时是有大小写区别存在的,如ORACLE,oracle,ORAcle等,虽然表示的单词一样,但都属于不同的标识符。
提示:标识符编写的简单建议。
标识符最好永远用字母开头,而且尽量不要包含其他的符号,下划线和$很少用。
和其他语言一样,Java中也有许多关键字作为特殊的标记使用,如public. static等,这些
关键字不能当作标识符使用。在程序开发中一旦使用了这些关键字做标识符时,编辑器会自动提示错误。由于说法的不同,一些技术书上会将关键字称为保留字。
Java中的关键字
abstract |
assert |
boolean |
break |
byte |
case |
catch |
char |
class |
continue |
const |
default |
do |
double |
else |
extends |
enum |
final |
finally |
float |
for |
goto |
if |
implements |
import |
instanceof |
int |
interface |
long |
native |
new |
package |
private |
protected |
public |
return |
short |
static |
synchronized |
super |
strictfp |
this |
throw |
throws |
transient |
try |
void |
volatile |
while |
1.2计算机存储单元
内存:临时存储
硬盘:永久存储
.java和.class是存储在硬盘,运行在内存。
计算机存储设备的最小信息单元叫“位(bit)”,又称为“比特位”,通常用小写的字母b表示。
而计算机最小的存储单元叫“字节(byte)”,通常用大写字母B表示,字节是由连续的8个位组成。
当程序需要使用存储空间时,操作系统最小会分派给程序1个字节,而不是1个位。
1个字节存储的最大数据是11111111的二进制数。
除了字节外还有一些常用的存储单位:
1B(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
1.3 数据类型
变量必须要有明确的类型,什么类型的变量装载什么类型的数据。
基本类型之4类8种
四类 |
八种 |
字节数 |
数据表示范围 |
整型 |
byte |
1 |
-128~127 |
short |
2 |
-32768~32767 |
|
int |
4 |
-2147483648~2147483648 |
|
long |
8 |
-263~263-1 |
|
浮点型 |
float |
4 |
-3.403E38~3.403E38 |
double |
8 |
-1.798E308~1.798E308 |
|
字符型 |
char |
2 |
表示一个字符,如('a','A','0','家') |
布尔型 |
boolean |
1 |
只有两个值true与false |
tips:
1)常用的是int和double
2)字符串不是基本数据类型,字符才是(字符就是指一个字符),字符用单引号表示,字符串用双引号表示
数据类型练习:
class Demo03 { public static void main(String[] args) { int age=23; System.out.println(age); double money=1000.36; char str='中'; boolean flag=true; System.out.println(money+"..."+str+"..."+flag); } }
其他知识点:
进制转换:https://baike.so.com/doc/4296932-4500592.html#4296932-4500592-2
科学计数法:https://baike.so.com/doc/5402658-5640344.html
1.4 常量与类型
java中默认的整数类型是int类型
在Java中整数常量如果不在-2147483648~2147483648之间就必须添加“L”后缀(小写的也可以,但建议使用大写),在-2147483648~2147483648之间的也可以添加“L”后缀。
添加了“L”后缀的整数常量都是long类型的,例如:100L、12345678901L都是long类型的常量。
java中默认的浮点类型是double类型
浮点类型的常量也可使用后缀,在Java中所有没有后缀以及使用“D”后缀(小写也可以,但建议使用大写)的小数都是double类型;
float类型常量必须添加“F”后缀(小写也可以,但建议使用大写)
3.14没有后缀,所以它是double类型;
5.28D为double类型;
1.26F为float类型。
例:
class Demo03 { public static void main(String[] args) { long a=12345678901; float b=12.3; System.out.println(b); } }
long a=12345678901; //报错
long a=12345678901L; //正确
float b=12.3; //报错
float b=12.3f; //正确
System.out.println(b);
2 变量
变量是内存中装载数据的小盒子,只能用它来存数据和取数据。
2.1定义变量的语法格式:
数据类型 变量名 = 数据值;
int a = 100;
2.2变量使用的注意事项
1)变量定义后可以不赋值,使用时再赋值。不赋值不能使用。
class Demo01 { public static void main(String[] args) { int x; System.out.println(x); } }
2)变量使用时有作用域的限制
class Demo01{ static int y=1; public static void main(String[] args){ int x=20; System.out.println(x); System.out.println(y); } public static void bbb(String[] args){ System.out.println(x); } }
3)变量不可以重复定义
public static void main(String[] args){ int x = 10; double x = 5.5; //编译失败,变量重复定义 }
2.3数据类型转换
不同类型的变量可以在一起运算,但要先进行类型转换再运算。
2.3.1转换遵循原则
范围小的数据类型值(如byte),可以直接转换为范围大的数据类型值(如int);
范围大的数据类型值(如int),不可以直接转换为范围小的数据类型值(如byte)
将各种数据类型按照数据范围从小到大依次列出:
byte -> short -> int -> long -> float -> double
2.3.2数据类型转换方式
1)自动类型转换
范围小的数据类型转换成范围大的数据类型
自动类型转换格式:
范围大的数据类型 变量 = 范围小的数据类型值;
如:
double d = 1000;
或
int i = 100;
double d2 = i;
2)强制类型转换
范围大的数据类型转换成范围小的数据类型
强制类型转换格式:
范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
如:
int i = (int)6.718; //i的值为6
或
double d = 3.14;
int i2 = (int)d; //i2的值为3
(只取整数部分,不会四舍五入)
例:
class Demo02 { public static void main(String[] args) { //由小转大,自动转 double a=100L; System.out.println("a的值为:"+a); //由大转小,强转 int b=(int)6.999; System.out.println("b的值为:"+b); } }
2.3.4转换一定要在范围内
例:
class Demo02 { public static void main(String[] args) { byte c=(byte)126.3f; System.out.println("c的值为:"+c); //错误:要在范围内 byte d=(byte)128.3f; System.out.println("d的值为:"+d); } }