一.课程内容
(一)数据
开发软件是为了解决现实世界中的问题。
而现实世界当中,有很多问题都是使用数据进行描述的。所以软件执行过程中最主要就是对数据的处理。
软件在处理数据之前需要能够表示数据,在java代码中怎么去表示数据呢?在java中有这样的一个概念:字面量。
注意:在java语言中"数据"被称为字面量"。
10
1.23
true
false
' a'
"abc"
以上这些都是数据,在程序中都被叫做"字面量”。
字面量分类:
整数型字面量:1 2 3 100 -100-20 ...
浮点型字面量:1.3 1.2 3.14. ....
布尔型字面量: true、false没有其它值了,表示真和假, true表示真,false表示假
字符型字面量:'a'、‘b'、’中‘ 等
字符串型字面量:"abc"、"a"、"b"、"中国"
其中字符型和字符串型都是描述了现实世界中的文字:
需要注意的是:
所有的字符型只能使用单引号括起来,所有的字符串型只能使用双引号括起来。字符型一定是单个字符才能成为"字符型”
注:在语法级别上区分字符型和字符串型“:
主要看是双引号还是单引号.
单引号的一定是字符型。
双引号的一定是字符串型。
(二)javadoc指令
通过javadoc指令可以提取java文件中的注释信息,提取的注释信息是以下注释方法中的信息。一般这种注释信息在文件的开头部分,有着文件作者和版本等信息。
/*
*
*
*/
也可以在javadoc的指令后直接跟着要提取的内容,例如:
javadoc -d javaapi -version -author VarTest02.java
这个指令的意思即为:把VarTest02.java文件中的版本信息、作者信息提取出来生成文件放入javaapi文件夹中
(三)变量
变量就是内存当中储存数据的最基本的单元,大小由数据类型决定。和c语言中的有很大程度一样,int,double等变量类型。
对于int这种整数类型,JVM会自动给int分配4个字节大小的空间.1个int占有32个二进制位(bit位)
注意:比特位是二进制位。
1个字节就是8个比特位
1个比特位就是一个1或0.
变量包括三要素:
变量的数据类型
变量的名字
变量中保存的值
类型+名字+值
类型决定空间的大小。
起个名字是为了以后方便访问。
(以后在程序中访问这个数据是通过名称来访问的。值是变量保存的数据。)
public class VarTest03{
int i = 100;
//这里也可以定义变量
//成员变量
public static void main(String[] args){
int k = 1000;
//main方法结束k内存空间释放
//局部变量
}
}
在方法体当中声明的变量:局部变量。
在方法体之外,类体内声明的变量:成员变量。
重点依据是:声明的位置。
注意:局部变量只在方法体当中有效,方法体执行结束该变量的内存就释放了。
变量的作用域?
1、作用域:变量的有效范围。
2、出了大括号就不认识了。
3、java中有一个很重要的原则:
就近原则。(不仅java中是这样,其它编程语言都有这个原则。)哪个离我近,就访问哪个。例如:
public class VarTest04{
int i = 100;
public static void main(String[] args){
int i = 200;
System.out.println(i);
}
}
该代码运行输出的i的值为200。
(四)数据类型
java里数据类型分俩种:
1.基本数据类型
基本数据类型又可以划分为4大类,8小种:
第一类:整数型 byte , short, int , long(主要是占用空间不同,和c语言相似)
第二类:浮点型 float,double
第三类:布尔型 boolean
第四类:字符型 char
8小种:
byte , short,int,long
float ,double
boolean
char
2.引用数据类型
字符串型String属于引用数据类型。
String字符串不属于基本数据类型范畴。
java中除了基本数据类型之外,剩下的都是引用数据类型。引用数据类型后期面向对象的时候才会接触。
(五)二进制与十进制的复习
二进制:0b
八进制:0
十进制:本身
十六进制:0x
(六)char
char只能存放一个字符。
char a = '1';//正确
char b = 'm';//正确
cahr c = "a";//不兼容的类型,String无法转化为char
char d = 'ab';//错误,未结束的字符文字
char e = '1.08';//错误,未结束的字符文字
(七)转义字符
java语言中“ \ ”负责转义
'\t'等于一个Tab键
'\n'等于换行
'\u'之后加输出的东西,\u是字符的unicode编码,十六进制
System.out.print();也可以输出,但是不换行
System.out.println();输出加换行
输出一个\
System.out println('\\');
第一个\具有转义作用,把第二个\转义为普通的斜杠,输出
输出一个'
System.out println('\'');
第一个\具有转义作用,把第二个'转义为普通的单引号,输出
(八)long
在java中有一条非常重要的结论,必须记住:
在任何情况下,整数型的"字面量/数据”默认被当做int类型处理。(记住就行)
如果希望该"整数型字面量"被当做long类型来处理,需要在“字面量"后面添加L/l建议使用大写L,因为小写l和1分不清。
long x = 200;
200是整型,4个字节,自动转换成long类型(8个字节),
小转大自动转换,
大转小要加强制类型转换符(),而且可能会有损失,
(会砍掉前面的字节,例如long转int,会把前面的四个字节砍掉)
如果大转小过程中在小的取值范围内,是可以直接转换的
byte a = 20;//错误,最初的赋值号右边的字面量是int类型的,所以应该转换类型
//byte a = (byte)20;
若long y = 300L;
300L是一个long类型的字面量,long类型的字面量赋值给long类型的y则不存在类型转换