### java语言的特点
1、java语言是简单的
2、java语言是面向对象的
3、java语言是跨平台(操作系统)的[即一次编译,到处运行]
4、java是高性能的
### 运行java程序要安装和配置jdk
### jdk是什么?
1、jdk全称java dvevlopment kit中文java开发工具包
2、jdk是sun公司开发的
3、jdk包括jre(java runtime envirnment)java运行环境、一堆java工具和java基础的类库(类共3600左右,常用类在150个左右)
4、可以在www.sun.com下载
开发安装jdk,用户执行需要安装jre
### 配置JDK
添加环境变量即可
windows下配置jdk
在计算机属性--高级设置--环境变量--添加PATH将JDK所在路径指定即可。多个环境变量设置时需要用;号进行隔开
### java程序运行关系
1、java源文件(.java文件)
2、java编译器即javac.exe
3、java字节码文件(.class文件)
4、由解释执行器即(java.exe)将字节码文件加载到java虚拟器(jvm)
5、字节码文件(.class)就会在java虚拟机中执行
### 为什么有变量
不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位。java中的基本数据类型的定义与c/c++中大体一致。
### java基本语法---基本数据类型
java基本数据类型 四大类型
整数类型、小数(浮点)类型、布尔类型、字符类型
### 整数类型
可以表示一个整数,常用的整数类型有:byte,short,int,long
主要区别是 数据大小范围,请大家看一个小案例。
byte 占用内存 一个字节 范围:-128至127
short 占用内存 两个字节 范围:-32768至32767
int 占用内存 四个字节 范围:-2147483648至2147483647
long 占用内存 八个字节 范围:-?至?
### 小数(浮点)类型
可以表示一个小数,常用的小数(浮点)类型有:
float(单精度),double(双精度)
float 占用内存 四个字节 范围:3.4E-38至3.4E+38 只能提供7位有效数字
double占用内存 八个字节 范围:1.7E-308至1.7E+308 可提供16位有效数字
### 布尔类型
可以表示"真"或者"假",类型是boolean
比如:
~~~
boolean spBool=true; //给变量spBool定义为boolean型并赋值为真
~~~
### 字符类型
可以表示 单个字符,字符类型是char。char是两个字节(可以存放汉字)
多个字符我们称为字符串,在java中String这种数据类型表示,但是String不是基本数据类型,而是类,类是复合数据类型。
结论:在java中,对char进行运算的时候,直接当做ascii码对应的整数对待。
### java基本语法--定义变量,初始化,赋值
### 定义变量
#### 1、什么是定义变量?
~~~
int a; 这就是定义了一个变量,变量名是a
float haha;这也定义了一个变量,表示一个float类型的小数,变量名是haha
~~~
#### 2、初始化变量
在定义变量的时候,就给值
~~~
int a=45;这就是初始化变量a
~~~
#### 3、给变量赋值
比如你先定义了变量:int tt;
然后再给值tt=780; ->这就是给变量赋值
### java基本语法--基本数据类型转换
### 自动转换
~~~
int a=1.2; 错误
double b=3; 正确
~~~
结论:数据类型可以自动的从低精度-->高精度。高精度不能转为低精度。
byte小于<short小于<int小于<long小于<float小于<double
在java中的小数默认是double数据类型,整数默认是int数据类型
float赋值时要在值后加f
long赋值时要在值后加l
### 强制转换
如何把高精度转成低精度?
~~~
int a=(int)1.2;
~~~
计算过程中的转换
~~~
int a=3;
int b=a+3.4;(错误)
~~~
结论:当一个整数和一个double运算的时候,运算结果会向高精度转换
### java 基本语法--运算符
### java中常用的算术运算符是:+加、-减、*乘、/除、%取模
其实%运算可以得到两个数的余数。
### 算术运算符:++自加、--自减。
~~~
int a=56;
int b=a++;
System.out.println(b); 56
System.out.println(a); 57
~~~
int b=++a;相当于a=a+1再将b=a;
int b=a++;相当于b=a再将a=a+1。
### 算术运算符:+=左加、-=左减、/=左除、%=左取模
### 关系运算符
#### 1、==等于;2、>大于;3、<小于;4、>=大于等于;5、<=小于等于;6、!=不等于
### 运算符--逻辑运算符
用于判断逻辑关系的运算符
#### 1、&&与;2、||或;3、!非
&&与的运算关系,真真为真,其它都为假。
||或的运算关系,假假为假,其它都为真。
!非的运算关系,真取假,假取真
### java基本语法----三大流程控制
### 顺序控制
听其名而知其意,让程序可以顺序的执行。
### 分支控制
让程序有选择的执行,分支控制有三种:
#### 1、 单分支;2、双分支;3、多分支a
#### 1、单分支语法:
~~~
if(条件表达式){
语句;
}
~~~
#### 2、双分支语法:
~~~
if(条件表达式){
语句;
}else{
语句;
}
~~~
#### 3.1、多分支语法:
~~~
if(条件表达式){
语句;
}else if(条件表达式){
语句;
}else if(条件表达式){
语句;
}else{
语句;
}
~~~
#### 3.2、多分支语法:
~~~
switch(条件表达式){ //***条件表达式数据类型,就和case常量表达式一致,否则就会报错。
case 常量1:
语句1;
//语句1至break中相当于{}可以加入相应程序代码
break; //break,表示跳出switch语句
case 常量2:
语句1;
break;
...
case 常量n:
语句n;
break;
default:
语句;
break;
}
~~~
*****:switch中的可用数据类型主要是:允许byte,short,int,char,enum等
PS:SE1.7以后支持String类型
***switch分支语句不支持判断类型即boolean类型
#### switch补充:
~~~
//输出0 1 2
//int i = 0;
//输出default 0 1 2
//如果将default移至case2
//输出default
int i = 5;
//PS:如果在switch中能找到入口(case 1,case 2)这样的东西,那么在没有break语句中断的情况下会一直执行到switch块完
switch(i){
default :
System.out.print("default ");
case 0 :
System.out.print("0 ");
case 1 :
System.out.print("1 ");
case 2 :
System.out.print("2 ");
}
~~~
### 循环控制
听其名而知其意,就是让你的代码可以循环的执行。
循环控制有三种
#### 1、for循环 语法:
~~~
for(循环初值;循环条件;步长){
语句; //循环体
}
~~~
#### 2、while循环 语法:
~~~
while(循环条件){
语句; //循环体
}
~~~
特别说明:while循环是先判断在执行语句。
#### 3、do while循环 语法:
~~~
do{
语句; //循环体
}while(循环条件);
~~~
特别说明:do while循环是先执行,再判断。
-------------参考《韩顺平.循序渐进学.java.从入门到精通》
-------------参考《JDK_API_1_6_zh_CN》
Java学习笔记--导航[http://blog.csdn.net/q547550831/article/details/49819641](http://blog.csdn.net/q547550831/article/details/49819641)