Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。
1.简单性
Java语法是C++语法的一个“纯净版本”。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重
载、虚基类等等。不仅如此,Java开发环境远远超出大多数其他编程语言的开发环境。
2.面向对象
什么是面向对象? 这里我们用木匠打一个比方,一个“面向对象”的木匠始终关注的是所制作的椅子,第二位才是所使用的工具;而一个“非面向对象的”木匠首先考虑的是所使用的工具。在Java的世界里,一切皆对象。
3.安全性
Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java可以构建防病毒、防
篡改的系统
4. 高性能
尽管对解释后的字节码性能已经比较满意,但在有些场合下可能需要更加高效的性能。字节码可以(在运行时刻)
动态的翻译成对应运行这个应用的特定cpu的机器码。
当然,Java的特性远不止于此,还有更多,我在这里就不一一赘述了。
这里有一个重要的辨别问题,即区分JDK,JRE和JVM。
JDK是java的开发工具
JRE是java的运行环境
JVM是java的虚拟机
正是因为通过JVM,从而实现了java可以跨平台使用。
下面用一个框图来表示其三者的关系。
两个重要的JDK命令
javac 编译命令
java 运行命令
public class TextDemo {
public static void main(String[] args) {
int a = 10;
System.out.println(a);
}
}
如上所示,就是一个比较简单的Java程序。
通过上述代码,我们可以看到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:
1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个
类。类的内容必须包含在花括号里面。
2.类:类中带有一个或多个方法。方法必须在类的内部声明。
3.方法:在方法的花括号中编写方法应该执行的语句。
1.1整型变量
注意事项:
1.int 表示变量的类型是一个整型。
2.变量名是变量的标识. 后续都是通过这个名字来使用变量。
3.Java 中 = 表示赋值(和数学不一样), 意思是给变量设置一个初始值。
4.初始化操作是可选的, 但是建议创建变量的时候都显式初始化。
5.最后不要忘记分号, 否则会编译失败。
6.// 表示注释。 注释作为代码的解释说明部分, 不参与编译运行。
public class TextDemo {
/**
*
* @param args java运行时命令行参数
*/
public static void main(String[] args) {
int a = 10;
System.out.println(a);
/*int b = 2147483648;//体现了java的安全性,溢出会编译报错*/
int b = Integer.MAX_VALUE;
System.out.println(b+1);//负数最小值//并未赋值,所以编译不报错。
int c = Integer.MAX_VALUE+1;//警告//编译时,Integer.MAX_VALUE未知,所以+1时,编译无法发现。
System.out.println(c);
1.2 长整型变量
long类型
长整型 占8个字节
注意事项:
1.3 双精度浮点型变量
double类型
双精度浮点类型 占8个字节 包装类为Double
浮点类型的存储方式与整型不同,不能单纯的用 2 ^ n 的形式表示数据范围。
任何小数,都不是一个精确的数字,而是一个范围。
1.4 单精度浮点型变量
float
单精度浮点类型 占4个字节
Java中默认浮点类型是double类型。定义时,应给数值后面加f即可修改bug。
1.5 字符类型变量
char
字符型类型 与C语言不同的是,它占2个字节,因此一个字符占用两个字节,表示的字符种类更多,包括中文。包装类为Character。如下图。
1.6 字节类型变量
byte
字节类型,只占1个字节。它能表示的范围为-128~127。包装类为Byte。
运行结果如下
1.7 短整型变量
short
短整型类型,它占2个字节。取值范围为-215 ~ 215-1,这个表示范围比较小,一般不推荐使用。当然,存在即合理,我们也会有用到它的地方。包装类为Short。
运行结果如下
1.8 布尔类型变量
与C语言不同的是,C语言中无布尔类型;而Java中存在布尔类型。
boolean
注意事项:
1.9 字符串类型变量
String
运行结果如下
常见的转义字符如下
\n换行
\t水平制表符
'单引号
"双引号
\反斜杠
字符串的 + 操作, 表示字符串拼接,如下
还可以用字符串和整数进行拼接:
运行结果如下
正因为字符串的 + 操作, 表示字符串拼接,所以结果为result = 1020,而非30。
至此数据类型的总结基本完毕。
特殊的包装类
char的包装类为Character
int 的包装类为Integer
其他基本数据类的的包装类,均为其关键字的首字母大写。
1.10 变量的作用域
也就是该变量能生效的范围, 一般是变量定义所在的代码块(大括号)。
1.11 变量的命名规则
硬性指标:
软性指标:
1.12 常量
上面讨论的都是各种规则的变量,每种类型的变量也对应着一种相同类型的常量。常量指的是运行时类型不能发生改变。常量主要有以下两种体现形式:
常量不能在程序运行过程中发生修改
1.12 类型转换
Java 作为一个强类型编程语言,当不同类型之间的变量相互赋值的时候,会有教严格的校验。
1.int 和 long/double 相互转换
long 表示的范围更大,可以将 int 赋值给 long,但是不能将 long 赋值给 int。
double 表示的范围更大,可以将 int 赋值给 double,但是不能将 double 赋值给 int。
2.int 和 boolean 相互转换
int 和 boolean 是毫不相干的两种类型,不能相互赋值。
3.int 字面值常量 给 byte 赋值
byte 表示的数据范围是 -128~+127, 256 已经超过范围, 而 100 还在范围之内。
使用字面值常量赋值的时候,Java 会自动进行一些检查校验,判定赋值是否合理。
使用强制类型转换
强制类型转换不是一定能成功,互不相干的类型之间无法强转,例如,int类型与 boolean 类型无法实现强转。
1.13 理解数值提升
int 和 long 混合运算
当 int 和 long 混合运算的时候,int 会提升成 long,得到的结果仍然是 long 类型,需要使用 long 类型的变量来接收结果。如果非要用 int 来接收结果,就需要使用强制类型转换。
byte 和 byte 的运算
byte 和 byte 都是相同类型, 但是出现编译报错.。原因是, 虽然 a 和 b 都是 byte, 但是计算 a + b 会先将 a 和 b 都提升成 int ,再进行计算,得到的结果也是 int,这是赋给byte类型的 c,就会出现上述错误。
由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据。为了硬件上实现方便, 诸如 byte 和 short 这种低于4 个字节的类型,,会先提升成 int, 再参与计算。
小结:
到这里Java入门(一)基本结束。非常感谢铁汁们的浏览与分享。我们下期见。