java基础
计算机语言的发展过程
机器语言--->汇编语言--->高级语言(面向过程和面向对象)
趋势:向人类自然语言靠近
JAVA发展过程
1991 年 Green项目-G、OaK
1995年 发布java1.0 -Java2.0-Java3.0-Java4-Java5-Java6-Java7-Java8
JAVA语言的特点:跨平台,简单性,安全,健壮,完全面对对象
JVM(java VIRTUAL MACHINE):JAVA虚拟机
JVM是一种规范,就是一个虚拟的用于执行bytecodes字解码的计算机。java虚拟机是java最核心的技术,也是跨平台的基础。
java如何实现跨平台?
平台:CPU操作系统与处理器的整体
通过“编译器”将java源程序编译成java字节码文件(.class)(字节码文件采用结构中立的中间文件格式)
通过“解释器”将java字节码文件解释为对应的机器语言并运行。

C语言与java的跨平台原理的比较:
java一次编译到处执行,C语言多次编译(针对不同操作系统需要编译器进行编译)

JAVA的版本 javame(微型版) javase(标准版)javaee(企业版)
JDK 、JRE、 JVM的关系

java的注释:就是为了提高可读性
1.单行注释:在程序中一行注释 格式:// 如果单行无法注释,就是用块注释
2.多行注释:一次将程序中的多行注释
格式:/*
内容
*/
注释若干行,通常用于文件,方法,数据结构等意义和说明.
3.文档注释:
格式/**
内容
*/
标识符:就是用于给java程序中变量,类,方法等命名的符号。
表示标识符类名通常以大写字母开头。
表示方法和变量的标识符用小写字母开头,后面的描述用大写开头。
使用标识符的规则:
1.标识符可以用字母,数字,下划线_和美元符($)组成。但不能包含特殊符号,不能以数字开头。
2.标识符不能使用java预留关键字。
3.java严格区分大小写和中英文符号。
4.标识符最好做到见名知意。
各种字符集的关系?

java的关键字是保留给内部使用的。
|
abstract |
Assert |
boolean |
break |
byte |
case |
|
catch |
char(character) |
class |
const |
continue |
default |
|
do |
Double |
else |
extends |
final |
finally |
|
float |
For |
goto |
if |
implements |
import |
|
instanceof |
Int |
interface |
long |
native |
new |
|
null |
Package |
private |
protected |
public |
return |
|
short |
Static |
strictfp |
super |
switch |
synchronized |
|
this |
Throw |
throws |
transient |
try |
void |
|
volatile |
While |
|
|
|
|
变量(variable)
我们是通过变量来操纵存储空间的数据。
java是一种强类型语言,每个变量都必须声明类型。
1.java变量是程序中最基本的单位.要素包括变量名,变量类型和作用域。
2.变量在使用前必须声明。只有变量声明后才能匹配对应的长度和使用的数据类型。(必须是合法标识符)
3.可以变量名和赋值一起。(int (类型)age(命名)=12(值);(变量名以;结尾))
变量可划分为局部变量和全局变量。
局部变量(lacal variable):方法或语句块内部定义的变量。
例如:public class Test{
public static void main(String[] args){
int i =10;//定义在类里的变量:全局变量
public void Name(){
String j=12;//定义在方法和作用域内部的变量:内部变量(就是以{}为范围使用的)
}
}
}
全局变量(实例变量):方法外部,类的内部定义的量。(如果不自行初始化,系统会默认类型)
public class Test1{
public static void main(String[] args){
booleam i=true;//声明booleam类型并赋值
int a=1;//声明int类型的变量
char c ='a';//声明char类型的变量并赋值
float b=1.1f;//声明float类型并赋值 赋值加f;
}}
常量(Constant):初始化后不能改变的变量的值。
例如:
public class Constants {
public static void main(String[] args) {
final double PI=3.14;//final 定义变量后为常量 不能改变量的值
// PI = 3.15; //error
double r = 4;
double area = PI * r * r;
double circle = 2 * PI * r;
System.out.println("area = " + area);
System.out.println("circle = " + circle);
}
}
命名规则:
1.见名知意
2.类变量(全局和局部变量):小写字母开头和驼峰原则
3.常量大写字母和下划线
4.类名首写字母和驼峰原则
5.方法名小写字母和驼峰原则
java的基本数据类型:
一基本数据类型(primitive type):byte shor int long
byte:占用1个字节 范围-128~127
short:占用2个字节 范围-32768~+32767
int:占用4个字节 范围大约21亿
long:8个字节 范围-263 ~ 263-1
java的进制:二进制(机器直接识别的) 八进制(要求以0开头) 十六进制(以0x开头)
默认类型为 int,声明long类型可以在变量后加l或L
超过类型的范围会失去精度出错。
浮点型:float double
float:单精度浮点类型 (精确到小数点后7位)占用4个字节
double:双精度浮点类型 (float类型精度的两倍)占用8个字节
科学记数法:
double f = 314e2; //314*10^2-->31400.0
double f2 = 314e-2; //314*10^(-2)-->3.14
float类型的数值要在其后加f/F,不加后缀默认类型为double也可在数值后加D/d。
最好避免浮点类型数值的比较,以免损失过多的精度。
浮点类型的使用:
1.默认为double
2.浮点类型存在四舍五入
3.避免比较使用
字符型(char 2个字节):
1.单引号标识字符常量。'A'带单引号。"A"双引号表示一个字符串。
2.char类型使用的是unicode编码表
3.unicode编码表用来设计处理语言的所有文字。65536个字符。ASCII编码占1个字节
4.java中允许使用转义字符'\'
|
转义符 |
含义 |
Unicode值 |
|
\b |
退格(backspace) |
\u0008 |
|
\n |
换行 |
\u000a |
|
\r |
回车 |
\u000d |
|
\t |
制表符(tab) |
\u0009 |
|
\“ |
双引号 |
\u0022 |
|
\‘ |
单引号 |
\u0027 |
|
\\ |
反斜杠 |
\u005c |
boolean(布尔类型):
1.只用两个值true和false,不能以0或!0代替
2.布尔用于逻辑判断,一般用于程序流程控制。
运算符(operator):
算术运算符:+,-,*,/,%,++,--
赋值运算符:=
关系运算符:>,>=.<,<=,!=
逻辑运算符:&&(与),||(或),!(非)
条件运算符:?:
复合运算符:+=,*=,-=,/=,%=
二元运算:
两个操作数为long,则结果为long。
没有long时,结果为long,操作数为shar,byte结果也为int。
两个操作数有一个为double,则为double。
两个操作数都为flase,则为false.
取模运算:
负数%负数=负数;
负数%正数=负数;
正数%负数=正数;
一元运算符(++,--)
布尔逻辑表达符:
逻辑与:&&和&,逻辑或:||和|,逻辑非:!
逻辑与和逻辑或采用短路方式,从左到右。
逻辑与有一个false,则返回flase。
逻辑或只要有一个true,返回true。
位运算符:
~ -- 取反 & -- 按位与
| -- 按位或 ^ -- 按位异或
<<:左移运算符, >>:右移运算符 >>>:无符号移位运算符
右移一位相当于除2取商。
左移一位相对于乘2.
扩展运算符:
|
运算符 |
用法举例 |
等效的表达式 |
|
+= |
a += b |
a = a+b |
|
-= |
a -= b |
a = a-b |
|
*= |
a *= b |
a = a*b |
|
/= |
a /= b |
a = a/b |
|
%= |
a %= b |
a = a%b |
字符串连接:
'+'运算符只要有一个字符串类型,系统会自动将另一个操作数转换为字符串再连接。
三目运算符:
l 其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。
运算符的优先级
|
|
. ( ) { } ; , |
|
L to R |
* / % |
|
L to R |
+ - |
|
L to R |
<< >> >>> |
|
L to R |
< > <= >= instanceof |
|
L to R |
== != |
|
L to R |
& |
|
L to R |
^ |
|
L to R |
| |
|
L to R |
&& |
|
L to R |
|| |
|
R to L |
? : |
|
R to L |
= *= /= %= |

浙公网安备 33010602011771号