目录
1.第一个 Java程序
编写 Java程序的步骤
-
编写源程序 .java文件
-
编译成 .class文件
javac 文件名.java
-
运行
java 文件名.java
HelloWord.java
public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World!!!"); } }
注意:
1、文件名要与public修饰的class 名一致
2、要用英文命名,每个单词首字母大写,驼峰法,见名知意
3、乱码是编码格式导致的 一般为 utf-8 或者 GBK
4、main方法是java程序的入口,有四要素public,static,void,String[]
5、java中开始的大括号一般在行末,结束的大括号跟这个层级对齐
6、每个指令以分号结束
2.输出语句
控制台输出
换行输出
System.out.println("hello world");
不换行输出
System.out.print("hello world");
按照格式输出
String str="Java"; double pi=3.14; int i=100; //"%"表示进行格式化输出,其后是格式的定义 System.out.printf("%f\n",pi);//"f"表示格式化输出浮点数 System.out.printf("%d\n",i);//"d"表示格式化输出十进制整数 System.out.printf("%o\n",i);//"o"表示格式化输出八进制整数 System.out.printf("%x\n",i);//"x"表示格式化输出十六进制整数 System.out.printf("%s\n",str);//"s"表示格式化输出字符串 System.out.printf("一个字符串:%s,一个浮点数:%f,一个整数:%d",str,pi,i);//可以一次输出多个变量,注意顺序即可
3.转义字符
转义字符 | 描述 | 举例 |
---|---|---|
" | " | System.out.println(“\”"); |
\ | \ | System.out.println(“\”); |
\t | 一个Tab键的距离 | System.out.println(“你好\t张三”); |
\n | 换行 | System.out.println(“你好\n张三”); |
4.关键字
关键字(Keyword)是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字。
JDK 8中有50个关键字,这些关键字都是小写的
5.标识符
定义一些符号来标记一些名称,如包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。标识符可以由任意顺序的大小写字母、数字、下划线()和美元符号($)组成,但标识符不能以数字开头,也不能是Java中的关键字
遵循以下几点规范:
1.包名所有字母一律小写。例如:com.itheima.example01。
2.类名和接口名每个单词的首字母都要大写。例如:ArrayList、Iterator。
3.常量名所有字母都大写,单词之间用下划线连接。例如:DAY_OF_MONTH。
4.变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写。例如:lineNumber、getLineNumber。(驼峰命名法)
5.在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。例如:使用userName表示用户名,password表示密码。
6.代码注释
作用:解释代码,是给程序员看的,方便维护
编译器不处理注释,所以不影响程序的执行效率
分类:
1、单行注释。//
2、多行注释。/* */
3、文档注释。/** */
7.数据类型
基本类型
一、Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。
在计算机中负数由补码进行表示,补码=源码取反 + 1。
Java中主要有八种基本数据类型:
1、整型:byte、short、int、long
2、字符型:char
3、浮点型:float、double
4、布尔型:boolean
byte
8位、有符号的以二进制补码表示的整数。
min:-128(-2^7)
max:127(2^7-1)
默认值:0
包装类:Byte
short
16位、有符号的以二进制补码表示的整数。
min:-32768(-2^15)
max:32767(2^15-1)
默认值:0
包装类:Short
int
32位、有符号的以二进制补码表示的整数。
min:-2,147,483,648(-2^31)
max:2,147,483,647(2^31-1)
默认值:0
包装类:Integer
long
64位、有符号的以二进制补码表示的整数。
min:-9,233,372,036,854,775,808(-2^63)
max:9,223,372,036,854,775,807(2^63-1)
默认值:0
包装类:Long
二、Java中浮点型数据无法由二进制直接表示,而是一种对于实数的近似数据表示法,它遵循IEEE 754标准。
float
单精度、32位、符合IEEE 754标准的浮点数。
float在储存大型浮点数组的时候可节省内存空间
浮点数不能用来表示精确的值,如货币
默认值:0.0f
包装类:Float
double
双精度、64位、IEEE 754标准的浮点数。
浮点数的默认类型为double类型
double类型同样不能表示精确值,如货币
默认值:0.0d
包装类:Double
三、字符型
char
char类型是一个单一的16位Unicode字符。
min:\u0000(即为0)
max:\uffff(即为65,535)
char数据类型可以储存任何字符
包装类:Character
四、布尔型
boolean
boolean数据类型表示一位的信息。
只有两个取值:true和false
这种类型只作为一种标志来记录true/false情况
默认值:false
包装类:Boolean
引用数据类型
引用数据有五种类型:类、接口、数组、枚举、注解
-
类引用: 引用指向一个类的实例,可以通过关键字 new 创建一个类的实例并赋值给引用变量。
-
接口引用:引用指向一个实现了接口的类的实例,可以通过接口类型的引用调用实现类中实现的接口方法。
-
数组引用:引用指向一个数组对象,可以通过数组类型的引用访问数组中的元素。
-
枚举引用:引用指向一个枚举类型的实例,可以通过枚举类型的引用访问枚举类型中定义的常量。
-
注解引用:引用指向一个注解类型的实例,可以通过注解类型的引用访问注解中定义的属性值。
8.数据类型的转换
自动转换
自动类型转换也叫隐式类型转换,指的是两种数据类型在转换的过程中不需要显式地进行声明。当把一个类型取值范围小的数值直接赋给另一个取值范围大的数据类型变量时,系统就会进行自动类型转换,否则需要进行强制类型转换。
Java中的自动类型转换就好比将小瓶水倒入到大瓶的换装过程。我们将小瓶水倒入到大瓶中时,由于小瓶的容量比大瓶的容量小,所以倒入的水永远不可能溢出大瓶。同样,在Java中,将取值范围小的数据类型的变量值赋值给取值范围大的数据类型的变量时,程序也不会出现任何问题。
强制转换
强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动类型转换无法进行,这时就需要进行强制类型转换。
Java中的强制类型转换就好比将大瓶水倒入到小瓶中一样,如果大瓶中的水的容量小于小瓶的大小,那么水是可以完全倒入的;如果大瓶水过多,其容量超过了小瓶的大小,那么多出来的水就会溢出,从而造成损失。同理,将取值范围大的数据类型的变量值赋值给取值范围小的数据类型的变量时,就可能造成数据的丢失,所以系统默认不支持这种行为,只能由开发者自己决定是否进行强制类型转换。
9.变量的作用域
变量需要在它的作用范围内才可以被使用,这个作用范围称为变量的作用域。在程序中,变量一定会被定义在某一对大括号中,该大括号所包含的代码区域便是这个变量的作用域。
10.常量
常量就是在程序中固定不变的值,是不能改变的数据。例如数字1、字符'a'、浮点数3.2等。在Java中,常量包括整型常量、浮点数常量、布尔常量、字符常量等
1.整型常量
整型常量是整数类型的数据,有二进制、八进制、十进制和十六进制4种表示形式,具体说明如下:
● 二进制:由数字0和1 组成的数字序列。在JDK 7以后,允许使用二进制字面值来表示整数,此时二进制数值前面要以0b或0B开头,目的是为了和十进制进行区分,如:0b01101100、0B10110101。
● 八进制:以0开头,并且其后由0 ~7范围(包括0和7)内的整数组成的数字序列,如:0342。
● 十进制:由数字0~9范围(包括0和9)内的整数组成的数字序列。如:198。
● 十六进制:以0x或者0X开头,并且其后由0~9、A~F(包括0和9、A和F)组成的字符序列,如:0x25AF。
需要注意的是,在程序中为了标明不同的进制,数据都有特定的标识,八进制必须以0开头,如:0711、0123;十六进制必须以0x或0X开头,如:0xaf3、0Xff;整数以十进制表示时,第一位不能是0,0本身除外。例如十进制的127,用二进制表示为01111111,用八进制表示为0177,用十六进制表示为0x7F或者0X7F。
2.浮点数常量
浮点数常量就是在数学中用到的小数,分为float单精度浮点数和double双精度浮点数两种类型。其中,单精度浮点数后面以F或f结尾,而双精度浮点数则以D或d结尾。当然,在使用浮点数时也可以在结尾处不加任何后缀,此时Java虚拟机会将浮点数默认识别为double双精度浮点数。浮点数常量还可以通过指数形式来表示。具体示例如下:
2e3f 3.6d 0f 3.84d 5.022e+23f
3.字符常量
字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号(' ')引起来,它可以是英文字母、数字、标点符号以及由转义序列来表示的特殊字符。具体示例如下:
'a' '1' '&' '\r'
4.字符串常量
字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号(" ")引起来,具体示例如下:
"HelloWorld" "123" "Welcome \n XXX" ""
一个字符串常量可以包含一个字符或多个字符,也可以不包含任何字符,即长度为零。
5.布尔常量
布尔常量即布尔类型的两个值true和false,该常量用于区分一个条件的真假。
6.null常量
null常量只有一个值null,表示对象的引用为空。关于null常量将会在第三章中详细讲解。
Java中的常量,其实就是特殊的变量,也是固定不变的量,有且只能进行一次赋值。需要在定义变量的语法基础上加上一个final关键字修饰即可,其语法格式如下:
final 常量类型 常量名 [= 初始值];
网上资源及个人整理,若有侵权,联系删除 !!!