黑马程序员——java概述与语法

---------------------- android培训java培训、期待与您交流! ----------------------


一、概述


1、 java机制


(1)java虚拟机机制
java虚拟机(JVM)= 解释器 + 运行平台
编译 解释
java源程序-------------->字节码文件---------------->机器码文件
屏蔽了底层运行平台的差异,实现了“一次编译,到处运行”。

注:java是解释性语言

(2)无用内存自动收回机制


C/C++是由程序员负责回收无用内存,java程序员不用负责,JVM在空闲时,由一种系统级线程跟踪存储空间的分配情况自动运行回收。


(3)代码安全检测机制
字节码--------->类装载器------>字节码校验器------->解释器
类装载器、字节码校验器保证代码的安全。


2、 环境变量的设置


Path是设置JDK命令文件所在的路径,设置Path后,可以在任何路径下使用JDK命令。
classPath是设置类库所在路径,设置后java程序可以访问类库中的类和自己定义的类了。
在windows系统是在系统属性下设置。在dos窗口中可利用set命令设置当前窗口的环境变量。
二、java基础语法


1、 标识符


Java中对各种变量、方法和类等要素命名时使用的字符序列
标识符命名规则
由字母、下划线、美元符或数字组成;
以字母、下划线、美元符开头;
Java对字母大小写敏感,长度无限制。
注:java标识符选取注意“见名之意”且不能与java道德关键字重名。


2、 java常量与变量


(1) 常量:整型常量、实型常量、字符常量、逻辑常量、字符串常量。


(2) 变量:程序中最基本的存储单元,其要素包括变量名,变量类型和作用域,从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申明,然后必须进行赋值,才能使用。


(3) 数据类型:分为基本数据类型和引用数据类型。

在基本数据类型中又分为整型类型(byte、short、int、long)、浮点类型(float、double)、字符型(char)、布尔型 (boolean);
引用数据类型中分为类(class)、接口(interface)、数组。


(4) 基本数据类型转换
 Boolean类型不可以转换为其他的数据类型。
  整型、字符型、浮点型的数据在混合运算中相互转换,规则如下:
容量小的类型自动转换为容量大的数据类型;数据类型按容量大小排序为:
byte,short,char---->int------>long----->float------>double
byte,short,char之间不会互相转换,他们三者在计算时首先转换为int类型。
容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出。
  有多种类型的数据混合运算时,系统首先自动的将所用数据转换成容量最大的那一种数据类型,然后再进行计算。
实数常量默认为double。
整数常量默认为int。


例:
public classTestConvert {
public static void main(String arg[]) {
int i1 = 123;
int i2 = 456;
double d1 = (i1+i2)*1.2;//系统将转换为double型运算
float f1 = (float)((i1+i2)*1.2);//需要加强制转换符
byte b1 = 67;
byte b2 = 89;
byte b3 = (byte)(b1+b2);//系统将转换为int型运算,需
//要强制转换符
System.out.println(b3);
double d2 = 1e200;
float f2 = (float)d2;//会产生溢出
System.out.println(f2);

float f3 = 1.23f;//必须加f
long l1 = 123;
long l2 = 30000000000L;//必须加l
float f = l1+l2+f3;//系统将转换为float型计算
long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)

}
}


3、 java运算符


算术运算符:+,—,*,/,%,++,——
关系运算符:>,<,>=,<=,==,!=
逻辑运算符:!,&,|,^,&&,||
位运算符:&,|,^,~,>>,<<,>>>
赋值运算符:=,+=,-=,*=,/=
字符串连接运算符:+
三目运算符:x ? y :z


注:“+”运算符两侧的操作符中只要有一个事字符串类型,系统自动将另一操作数转换为字符串然后再进行连接。当进行打印时,无论任何类型,都自动转为字符串进行打印。
4、 语句


  条件语句:if语句,switch语句
注:switch语句的判断表达式中的类型只能是byte,short,char和int型;default语句无论放在switch语句中哪个地方,都只能是 最后执行的。
循环语句:while语句,do……while()语句,for语句。
break和continue语句
break适用于循环语句和switch语句中,而continue语句仅适用于循环语句中。

5、 方法


注:java中进行函数调用中传递参数时,遵循值传递的原则:基本力、类型传递的是该数据值本身。引用类型传递的是对象的引 用,而不是对象本身。


例:public class TestMethod {
public static void main(String[] args) {
m();
m2(2);
m3('3', 4);
m4(4, 6);
int i = m4(4, 6);
System.out.println(i);
}
public static void m() {
//return;
System.out.println("ok");
System.out.println("hello");
}
public static void m2(int i) {
if(i > 3)
return;
System.out.println(i);
}
public static void m3(int i, int j) {
System.out.println(i + j);
}
public static int m4(int i, int j) {
return i > j ? i : j;
}
}


---------------------- android培训java培训、期待与您交流! ----------------------详细请查看: http://edu.csdn.net/heima
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值