常用的DOS命令
dir : 列出当前目录下的文件以及文件夹
md : 创建目录
rd : 删除目录
cd : 进入指定目录
cd.. : 退回到上一级目录
cd\ : 退回到根目录
del : 删除文件
exit : 退出 dos 命令行
java语言的主要特性
Java语言是易学的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。
Java技术体系平台
JavaSE(Java Standard Edition)标准版 |
支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE |
JavaEE(Java Enterprise Edition)企业版 |
是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet 、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE |
Java ME(Java Micro Edition)小型版 |
支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME |
Java Card |
支持一些Java小程序(Applets)运行在小内存设备(如智能卡)上的平台 |
Java语言运行机制及运行过程
Java 两种核心机制
Java 虚拟机( Java Virtal Machine ), JVM
垃圾收集机制( Garbage Collection ), GC
垃圾回收机制 GC:
C和C++,垃圾由程序员自己回收,优点在内存不使用时候快速回收,缺点容易失误,出现bug
java垃圾回收自动的,开了系统性线程自动检测那些回收 缺点 回收不及时
宁可回收不及时,但是一定要回收
jdk :Java的开发工具包,包括jre
jre:java运行环境
jvm :jre包括jvm
JVM<JRE<JDK
Java变量:数据类型 变量名 =变量的值 例如 int i=1;变量放于内存中
注意:java的=号代表赋值,不是数学意义上的=
变量的类型:声明的变量的数据类型就是变量的类型
在java中,数据类型分为基本数据类型和引用数据类型,基本数据类型有8种,其他的都是引用数据类型
赋值不能超过表数范围,如 byte b=130 超出范围 1字节=8bit
bit单位 01010101 -->8bit long a=3I,long赋值时,加l
double d=1.11 float f=1.11f float跟着f
用英文单引号括起来的单个字母,数字,符号
字符串?由0到多个字母,符号,数字共同组成,用双引号括起来
凡是引用类型,都可以用null作为值
char类型数据进行数学运算时,先转ASCII,再计算
算术运算符
算术运算符的注意问题i++ 是1
如果对负数取模,可以把模数负号忽略不记,如: 5%-2=1 。 但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。
对于除号“ /” ,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
例如:int x=3510;x=x/1000*1000; x的结果是?3000
“ +” 除字符串相加功能外,还能把非字符串转换成字符串 . 例如: System.out.println("5+5="+5+5); // 打印结果是? 5+5=55
以下二者的区别:char类型做数学运算,转ASCII码
System. out.println ('*' + '\t' +'*'); 93
System. out.println ("*" + '\t' +'*'); * *
public class TestSign{
public static void main(String[] args){
int i1 = 10,i2 = 20;
int i = i1++;
System.out.print("i="+i); //i=10
System.out.println("i1="+i1);//i1=11
i = ++i1;
System.out.print("i="+i);//i=12
System.out.println("i1="+i1);//i1=10 11 12 13
i = i2--;
System.out.print("i="+i);//i=20
System.out.println("i2="+i2);//i2=19
i = --i2;
System.out.print("i="+i);//i=18
System.out.println("i2="+i2);//i2=18
}
}
赋值运算符
符号: =
当“ = ”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
支持连续赋值。
Ø
扩展赋值运算符: +=, - =, *=, /=, %=
l
思考 1 : short s = 3;
s=s+2; ①
s+=2; ②
①和②有什么区别?
比较运算符
逻辑运算符
&—逻辑与 | —逻辑或 !—逻辑非
&& —短路与 || —短路或 ^ —逻辑异或
1逻辑运算符用于连接布尔型表达式,在 Java 中不可以写成 3<x<6 ,应该写成 x>3 & x<6 。
2“ &”和“&&”的区别:
Ø单&时,左边无论真假,右边都进行运算;
Ø双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
3“|” 和“ ||” 的区别同理, || 表示:当左边为真,右边不参与运算。
4在不需要逻辑运算两边都参与运算的时候,尽量使用 && 和 ||
5异或 ( ^ ) 与或 ( | ) 的不同之处是:当左右都为 true 时,结果为 false 。
理解:异或,追求的是“异”!
位运算符
位 运 |
格式:三元运算符--三目运算符
( 条件表达式 )? 表达式 1 :表达式 2 ;
Ø
为true,运算后的结果是表达式1;
为false,运算后的结果是表达式2;
获取两个数中的较大数 获取三个数中的较大数
switch( 表达式 ) 中表达式的 返回值 必须是下述几种类型之一: byte , short , char , int ,枚举, String ;
case 子句中的值必须是 常量 ,且所有 case 子句中的值应是不同的;
default 子句是 可任选的 ,当没有匹配的 case 时,执行 default
break 语句用来在执行完一个 case 分支后使程序跳出 switch 语句块;如果没有 break ,程序会顺序执行到 switch 结尾
switch和if语句的对比
if和switch语句很像,具体什么场景下,应用哪个语句呢?
如果判断的具体数值不多,而且符合 byte 、 short 、 int 、 char 这四种类型。虽然两个语句都可以使用,建议使用 swtich 语句。因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广
--------------------------------------------------
补充:
最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,需要根据某些条件,来控制循环。