Java基本语法(一)
一、前言
? 前面我们讲述了Java的相关专业术语,jdk安装实际过程,初步在dos界面中体验运行了Java的第一个程序。
? 下面我们将介绍关于Java的基本语法,分为以下几个方面:
? 关键字、标识符、变量(基本数据类型、基本数据类型转换)、运算符、程序流程控制、数组。一共六大块内容。
二、关键字
2.1什么是Java关键字?
定义:被Java语言赋予了特殊的含义,用作专门用途的字符串(单词)
其实简单而言就是Java语言中自带的固定的(事先定义好的)一些英文单词,程序员不可以自己定义和改变,只能在关键的地方使用,体现关键的含义。
2.2关键字的特点
关键字中所有的字母都为小写
2.3关键字的分类
1.定义数据类型的关键字
class、interface、enum、byte、short、int、long、float、double、char、boolean、void、static
2.用于定义数据类型值的关键字
true、false、null
3.用于定义流程控制的关键字
if、else、switch、case、default、while、do、for、break、continue、return
不用刻意记忆,敲多了就能记住!!!
我们还是提一提保留字的含义:现有版本的Java尚未使用,但以后版本可能会作为关键字使用,例如:goto、var、const等,我们也尽可能不去使用。
三、文本编辑器
? 在讲解后面的内容之前我们来介绍一些工具。作为一个合格的程序员,必须要有编程工具,并且遵守一定的编程规范。
? 推荐大家使用Notepad++和Sublime text软件。可以自行下载安装。
四、标识符
4.1什么是Java标识符?
定义:Java对各种变量、方法和类等要素命名是使用的字符序列称为标识符;
可以这么说,凡是自己可以取名的地方都是标识符。
定义合法标识符的规则:
- 由26个英文字母大小写,0-9,_或$组成;
- 数字不可开头;
- 不可以使用关键字和保留字,但能包含关键字和保留字。
- Java中严格区分大小写,长度没有限制,但一般要做到“见名知意”;
- 标识符中不能包含空格。
4.2Java中名称命名规范
? Java语言的命名就和我们说普通话,文明语言一样也有自己的规则。
- 包名:多单词组成时所有字母都小写;
- 类名、接口名:多单词组成时,所有单词的首字母大写;
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写;
- 常量名:所有字母都大写。多单词时每个单词用下划线连接;
五、变量
5.1什么是java变量?
java中变量的定义:数据类型 变量名 = 变量的值
例子:int a = 3 表示定义了一个整数a 给它赋予的值是3
变量的概念细解:
- 变量是存放在内存中的一个存储区域,该区域有自己的名称和类型‘;
- 变量需要先声明再使用;
- 该区域的数据可以在同一类型范围内不断变化;
注意:
- 等号两边写空格!此等号表示赋值,并非数学上的等号含义,因为后面可以对a可以继续赋值或进行计算,其值发生对应变化;
- 变量的作用域:一对{}之间有效;
- 初始化值——第一次给变量赋值
5.2变量的分类
1、按数据类型
? 对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。如下图所示:
? 在java中数据类型中,基本数据类型有8中,除此以外的其他所有的数据类型是引用数据类型。
? 下面逐一介绍。
5.2.1整数类型:byte、short、int、long
java各整数类型有固定的表数范围和字节长度,不受具体OS(操作系统)的影响,以保证java程序的可移植性。
注意:java的整型常量默认为int型,声明long型常量需在后面加‘l’或‘L’;
类型 | 占用存储空间 | 表数范围 |
---|---|---|
byte | 1字节 = 8bit | -128~127 |
short | 2字节 | -2^15~2^15-1 |
int | 4字节 | -2^31~2^31-1 |
long | 8字节 | -2^63~2^63-1 |
定义举例:
byte b = 126; int i = 1; short s = 2; long m= 3L
5.2.2浮点类型:float、double
与整数类型类似,java浮点类型也有固定的表数范围和字段长度,不受具体OS的影响;
java的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。
浮点型常量有两种表示形式:
- 十进制数形式,如:5.12 5.12f .512 (必须有小数点)
- 科学计数法形式,如:5.12e2 512E2 100E-2
类型 | 占用存储空间 | 表数范围 | 精度 |
---|---|---|---|
单精度float | 4字节 | -2^128~2^128 | 7位有效数字 |
双精度double | 8字节 | -2^1024~2^1024 | 16位有效数字 |
定义举例:
double d = 1.22
float f = 1.22f,float类型变量赋值时值后面跟上字母f或F
5.2.3字符类型:char
- char型数据用来表示通常意义上“字符”(2字节)
- 字符型常量的表现形式:
字符常量是用单引号(‘‘)括起来的单个字符,涵盖世界上所有书面语的字符。如:char c1= ‘a‘; char c2 = ‘中‘; char c3 = ‘9‘;
java中还允许使用转义字符’\‘来将其后的字符转变为特殊字符型常量。例如:char c3 = ‘\n‘;//‘\n’表示换行符,之后还有其他的转义字符;
定义单引号字符
~~~ char c5 = ‘\‘‘;
- char类型是可以进行运算的。因为它都对应有Unicode码。
5.2.4布尔类型:boolean
- boolean类型适用于逻辑运算,一般用于程序流程控制:
- if条件控制语句;
- while循环控制语句;
- do-while循环控制语句;
- for循环控制语句;
- boolean类型数据只允许取值true和false,无null。
不可以0或非0的整数替代false和true,这和C语言不同。
例子:boolean b1 = true;或者boolean b2 = false;
注意等号两边空格的习惯!!!
5.3小结
? 以上我们讲解的是8种基本的数据类型,具体用处还是需要我们在编程过程中仔细体会。在我们讲解有关引用类型的内容前我们来尝试编写使用以上数据类型的程序,将它们的结果显示在dos窗口中。
编程demo1:新建demo1.java文件,用Notepad++打开
public class Demo1{
public static void main(String[] args){
System.out.print("aaa\n");//使用转义字符输出结果
System.out.println("aaa");//直接用println输出结果
}
}
编译运行输出的结果如下图所示:
结果的确是输出就换行了,自己动手体会一下,前提是环境已安装设置好,看上篇文章即可!
练习8种数据类型的定义和输出:接着上面的代码编写
public class Demo1{
public static void main(String[] args){
/* System.out.print("aaa\n");
System.out.println("aaa"); */
byte b = 1;
System.out.println(b);
short s = 2;
System.out.println(s);
int i = 3;
System.out.println(s);
long l = 24L;
System.out.println(l);
float f = 1.25f;
System.out.println(f);
double d = 44.12;
System.out.println(d);
char c1 = ‘a‘;
char c2 = ‘9‘;
System.out.println(c1);
System.out.println(c2);
boolean bool1 = true;
System.out.println(bool1);
}
}
? 注意,对于初学者而言,在dos界面中的编译使用高级IDE或程序编写工具在包含注释时编译会报错,原因是字符编码的问题。之后我们会讲解使用其他集成开发环境工具来编写程序,所以养成良好的编程习惯是必不可少的。
? 上述程序编译运行结果如下所示:
大家一定要自己动手敲代码,才能更好的理解和记忆,下面我们来揭开引用类型的面纱。
5.4.1引用类型:String类
字符串:由多个字母或数字或符号组成的一个串,要用英文的双引号括起来使用,联想一下第一个hello world的程序。那么我们可以使用下面的方法实现hello world的输出显示:
String str = "hello world";
System.out.println(str);
- 值null可以赋值给任何引用类型(类、接口、数组)的变量,用以表示这个引用类型变量中保存的地址为空。
- String类属于引用类型,可以用null赋值;
- String类是一个典型的不可变类,String对象创建出来就不可能被改变。创建出的字符串将存放在数据区,保证每个字符串常量只有一个,不会产生多个副本。
关于第三点我们举例解释一下:
int i1 = 1;
int i2 = 1;
//该类型的变量会在内存中存储2个1的值
String s1 = "hello";
String s2 = "hello";
//该类型的变量不会在内存中存放两个“hello”,但是变量名会引用hello
String s3 = "he" + "ll" + "o"//这个也同理,该形式叫做java的拼接
我们可以尝试在dos界面中编译输出看一下结果:在刚刚的代码中加上如下的代码语句,并且将之前的代码注释掉:
public class Demo1{
public static void main(String[] args){
/* System.out.print("aaa\n");
System.out.println("aaa"); */
/* byte b = 1;
System.out.println(b);
short s = 2;
System.out.println(s);
int i = 3;
System.out.println(s);
long l = 24L;
System.out.println(l);
float f = 1.25f;
System.out.println(f);
double d = 44.12;
System.out.println(d);
char c1 = ‘a‘;
char c2 = ‘9‘;
System.out.println(c1);
System.out.println(c2);
boolean bool1 = true;
System.out.println(bool1); */
String str = "hello" + "world";
System.out.println(str);
}
}
编译后执行结果:
六、本文总结
? 本文先回顾了上篇文章的相关内容,包括java的介绍和环境的部署,而本文主要介绍了java基础中的关键字、两种数据类型的概念,结合实际的案例代码程序来方便大家理解,推荐大家使用的两个编程工具:Notepad++和Sublime Text编写软件。当我们将代码可以熟练编写的时候我们会将理论的内容加深,包括jvm,内存空间等相关深入理解。
? 明天我们将介绍真正的集成开发环境,以及各种运算符的介绍。谢谢您的阅读和支持!
原文地址:https://blog.51cto.com/14557673/2469186