配置Java运行环境
1.下载JDK(Java开发工具箱)
- 1)Javac:Java编译器,将Java源代码换算成字节代码。
- 2)Java: Java翻译器,直接从类文件执行Java应用程序字节代码。
2. 配置环境变量
1)JAVA_HOME
d:\jdk1.7(JDK安装目录) (将jdk单独放在一个人PATH里面,当jdk的路径更改时,只需要更改JAVA_HOME里面的路径,而不需要在CLASSPATH里面多次更改)
2)PATH
%JAVA_HOME%\bin;<原path值>
3)CLASSPATH
*; %JAVA_HOME%\lib\tools.jar; %JAVA_HOME%\lib\dt.jar
对JAVA文件进行编译
1. 一般情况:
Javac HelloWorld.java(HelloWorld为JAVA文件类名)
2. 当文件分类存放时:
Javac -d [要存class目录] (即bin)src/HelloWorld.java
3. 当几个文件同时编译:
- javac -d bin src/xx.java src/xx.java
- javac -d bin src/*.java
执行编译好的JAVA文件
1.一般情况:
java Hello
2.当文件分类存放时:
java -cp bin Hello
3.当几个文件同时编译:
若在包里面,需指定出完整路径(java –cp bin org.wxq.……)
相对路径与绝对路径
1. 绝对路径:是从盘符开始的完整路径
例如:c:\windows\system32\cmd.exe
2. 绝对路径:是从当前路径开始的路径
例如:
1. 当前的路径为c:\windows,要描述上述路径,只需system32\cmd.exe
2. 当前的路径为c:\program files,要描述上述路径,需..\ windows\system32\cmd.exe(..表示上一层目录)
输入与输出
1. 输入:
Scanner s = new Sanner(System.in);
int a = s.nextInt();(此地,next之后需看a为什么类型,例如nextDouble();)
2. 输出:
print:直接输出,不换行( print(“age:”+age) )
println:直接输出,需要换行(…………)
printf:类似于C语言( printf(“age:%d” ,age) )
转义字符
以反斜杠(\)开头,将其后的字符转变为另外的含义。
序号 | 转义字符 | 描述 |
---|---|---|
1 | \f | 换页 |
2 | “\\” | 反斜线 |
3 | \b | 倒退一格 |
4 | \’ | 单引号 |
5 | \t | 制表符Tab |
6 | \n | 换行 |
7 | \” | 双引号 |
位运算符
1.(&与&&)及(|与||)
&、|:需同时计算左右两边,再进行最后的比较计算
&&:若左边为假,则不再计算右边,直接为假
若左边为真,再计算右边||:若左边为假,再计算右边
若左边为假,则不再计算右边,直接为真
2.<< 左移 >>右移 >>>无符号右移
1)移位运算符适用类型有byte、short、char、int、long
2)对低于int型的操作数将先自动转换为int型再移位。
3)对于int型整数移位a>>b,系统先将b对32取模,得到的结果才是真正移位的位数。例如:a>>33和a>>1结果是一样的,a>>32的结果还是a原来的数字。
4)对于long型整数移位时a>>b ,则是先将移位位数b对64取模。
5)移位不会改变变量本身的值。如a>>1;在一行语句中单独存在,毫无意义 。
6)x>>1的结果和x/2的结果是一样的,x<<2和x*4的结果也是一样的。总之,一个数左移n位,就是等于这个数乘以2的n次方,一个数右移n位,就是等于这个数除以2的n次方。
请思考:如何用程序实现求2的x次方
答案:y = 1<< x
public class 与 class
1.public class声明一个类时,类名称必须与文件名称一致,否则程序无法编译;
2.class 声明一个类时,类名称可以与文件名称不一致;
3.一个JAVA文件中可以有多个class类的定义,但是只能有一个public class定义;
基本数据类型
JAVA基本数据类型
序号 | 数据类型 | 大小/位 | 可表示的数据范围 |
---|---|---|---|
1 | long(长整数) | 64 | -9223372036854775808~9223372036854775807 |
2 | int(整数) | 32 | -2147483648~2147483647 |
3 | short(短整数) | 16 | -32768~32767 |
4 | byte(位) | 8 | -128~127 |
5 | char(字符) | 2 | 0~255 |
6 | float(单精度) | 32 | -3.4E38(-3.4x1038)~3.4E38(-3.4x1038) |
7 | double(双精度) | 64 | -1.7E308(-1.7x10308)~1.7E308(-1.7x10308) |
基本数据类型的默认值
序号 | 数据类型 | 默认值 |
---|---|---|
1 | byte | (byte)0 |
2 | short | (short)0 |
3 | int | 0 |
4 | long | 0L |
5 | float | 0.0f |
6 | double | 0.0d |
7 | char | \u0000(空,”) |
8 | boolean | false |
Switch语句
break语句与continue语句
1.break语句
break语句可以让强制程序脱离循环。当程序运行到break的时候,即会脱离当前循环,继续执行当前循环外的下一条语句。
若break之后有符号,则传给当前方法中带这一符号的语句
st:while(true){
while(true){
break st;
}
};
则表示结束st
2.continue语句
continue语句可以强制让程序跳到循环的起始处。当程序运行到continue语句时,即会停止运行剩余的循环主体,转到循环的开始处继续运行。
数组与方法
1. 数组含义:
具有相同类型的集合体。数组类型是引用类型,引用具有两个空间,栈空间是放的引用(数组的名称,即为堆内存空间的访问地址);堆空间存放的是数据
2. 凡是引用的类型,数据默认是null
3. 数组定义:
语法:数据类型 数组名[]
开辟空间:用new关键字
怎么使用:int num[] = null;
num = new int[长度];
或者:int num[] = new int[长度];
4. 数组的静态初始化:
动态初始化一般与循环一起使用.
5. 数组长度:
利用xx.length
6. 二维数组:
7. 方法:
含义:可以重复使用的代码块(定义时,首字母小写,之后的每个单词首字母大写,如printInfo)
作用:实现某种功能