java语言基础知识
一般常识
java运行在JVM(java虚拟机)上,以此达到跨平台。JDK是java程序开发工具,而jre是java运行的环境。总的说JDK>JRE>JVM。java主要分为java SE(开发和部署桌面、服务端等的应用程序,是EE的基础)、javaEE(服务端)、javaME(移动微端)三个体系。java是纯粹面向对象的语言,相对于C++抛弃了指针和多继承,增加了内存管理。
编译相关
javac即把.java源文件编译为.class二进制规范文件,在通过java命令在JVM解释执行。
java学习必知
对象具有属性和行为,具有变化的状态,是某个类别的实例,具有唯一性。
java语言程序结构
hello world!
1 | /*第一个java程序*/ |
数据类型
基本数据类型
- 整型 int
- 字符串 String
- 字符型 char
- 布尔型 boolean
- 实型(单精、双精) float/double
构造数据类型
- 枚举类型
- 数组类型 //
int[] score;int score[10];
先申明,再赋值 - 结构体类型
- 共用体类型
变量
全局变量无static修饰,通过 对象名.变量名
访问,只要对象被引用,变量就存在;静态变量用static修饰,通过 类名.变量名或对象名.变量名 访问,生命周期取决于类的周期;局部变量仅在定义的方法中有效。
1 | public class DataClass { |
数据类型转换
自动类型转化
自动向高级数据类型转换。整型→实型
强制类型装换
(数据类型) (表达式)
如 (int)(x/2+y)
String转换为int
Integer.parseInt(str)
类似c语言调用外部头文件中的函数。
integer是一个类,int基本数据类型的封装类。
运算
常见表达式
java运算 | 说明 |
---|---|
++a | 先自加,再取值 |
a– | 取值后自减 |
b=-a | 取反,如12变-12 |
a+=5 | a = a+5,即先加再赋值 |
位运算
运算符 | 说明 | 详细 |
---|---|---|
& | 按位与 | 9&5在内存中解为二进制,仅1与1为1 |
| | 按位或 | 如上,有1则1 |
^ | 按位异或 | 如上。不同为1,相同为0 |
~ | 取反 | 取反 |
<< | 左移 | 二进制左移,丢高位,低位补0 |
>> | 右移 | 丢地位,高位按高位内容补 |
程序结构
判断体
if判断结构
1 | if(表达式1) { |
switch语句(与c存在细微差别)
1 | public static void main(String[] args) { |
循环体
for循环
1 | for(执行1;判断1;每次循环句){ |
java特色for-each遍历数组
1 |
|
while循环
1 | while(为“真”即循环){ |
do-while循环
1 | do{ |
break和continue循环中断
break跳出当前一层循环;
continue结束本次循环开始下次。
各种类(一些默认包含的头文件)
Java为每种基本数据类型分别设计了对应的类,称之为包装类(Wrapper Classes)。基本数据类型转换为包装类的过程称为装箱,包装类变为基本数据类型的过程称为拆箱,即一个将同类型变量包装为一个类用于调用。 Java 所有的类都是Object类的子类,即java所有类默认包含Object这个头文件内容,即所有java类可调用object类的方法。
类的定义详细
1 | public class Person { |
类的封装
即把对象的细节隐藏,仅把通用的东西按规定的方式对外(只能通过设置的方法进行访问),如一台计算机内部复杂的内容,最后被封装为对外的几个接口。
类的继承
1 | public class Student extends People { //student类继承people的属性和方法 |