标签:android des style blog http java
- - - - android培训、java培训、期待与您交流!- - - - - -
JRE和JDK
JRE:Java Runtime Environment,java运行环境。
JDK:Java Development Kit,java开发工具包。
使用JDK开发java程序,交给JRE运行。
JDK下载和安装
http://www.oracle.com/technetwork/java/javase/downloads/index.html
JDK的目录结构
目录/文件名 | 功能说明 |
bin | 包含编译器、解释器等可执行文件 |
include | 编写JNDI等程序需要的C语言头文件 |
jre | Java运行时环境 |
lib | Java类库 |
src.zip | 核心API所有类的源文件 |
bin中的主要工具(JDK常用命令)
文件名 | 功能说明 |
javac.exe | Java编译器,将Java源程序编译成字节码文件 |
java.exe | Java解释器,执行字节码文件对应的Java类 |
javadoc.exe | 根据Java源码及说明语句生成HTML文档 |
jar.exe | 压缩文件,扩展名为JAR(Java Archive,Java归档),与Zip压缩文件格式相同 |
jdb.exe | Java调试器,可以逐行执行程序,设置断点和检查变量 |
appletviewer.exe | Applet应用程序浏览器 |
环境变量的配置
右击“我的电脑” —> “属性” —> “高级” —> “环境变量”,在“系统变量”里我们可以看到系统的各个环境变量的值。
JAVA_HOME:JDK的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的JDK。如C:\jdk1.7.0_02。
PATH:指定命令搜索路径,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH:指定类搜索路径,JVM就是通过CLASSPATH来寻找类的。.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
为什么需要配置path?
path也就是系统变量,它会告诉操作系统可执行文件(*.exe,*.bat)所在的路径。对于操作系统而言,当它要使用某个*.exe 时,会先从当前目录查找这个命令,如果查找不到,OS就会到path所设定的路径去查找该命令,然后执行。
什么时候需要配置classpath?
classpath是告诉java虚拟机(jvm)要使用或执行的*.class文件放在什么地方。
配置好后在任意目录下运行javac,java命令:
C:\Users\Administrator\Desktop>javac
用法: javac <options> <source files>
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖所安装扩展的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
临时配置:
E:\>set classpath=E:\ 和 E:\>set classpath=E:\; 的区别:
加分号的时候,首先在环境变量的目录下搜索class文件,如果没有找到,再在当前目录搜索class文件。
不加分号的时候,如果在环境变量的目录下没有搜索到class文件,不再在当前目录中搜索。
数据类型
基本数据类型包装类【是按照面向对象的思想讲基本数据类型封装成了对象】
基本数据类型 | 对象包装类 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
boolean | Boolean |
float | Float |
double | Double |
char | Charactor |
类型对象包装类都是final类
好处:
Integer i = new Integer("123");
int num = i.intValue();
整数进制转换
十进制转成其他进制
其他进制转成十进制
parseInt(string,radix); Radix转换成的进制。使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
int x = Integer.parseInt("110",10); int x1 = Integer.parseInt("110",2); System.out.println(x);//110 System.out.println(x1);//6
负数的二进制
逻辑运算符
"&" 和 "&&" 的区别:
单& 时,左边无论真假,右边都进行运算;
双& 时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|” 和“||”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ ) 与或( | ) 的不同之处是:当左右都为true 时, 结果为false。
位运算符
package test; /** * ^的运算方法是 相同为0,相反为1 * |的运算方法是 有1则为1 * &的运算方式是 有0则为0 * ~的运算方法是 求反,负数的二进制表示就是该负数的绝对值的二进制数按位取反再加一 * >>n的运算方式 右移n位,正填0,负填1,正数x/(2^n) * <<n的运算方式 左移n位,正填0,负填1,正数x*(2^n) * >>>n的运算方式 不带符号右移n位,填0,32位系统是该数前补足32个0,64位补足64个0 */ public class TestOperation { public static void main(String[] args) { System.out.println(1^2); /* * 1 001 * 2 010 * 3 011 */ System.out.println(4^5); /* * 4 100 * 5 101 * 1 001 */ System.out.println(15^21); /* * 15 01111 * 21 10101 * 26 11010 */ System.out.println(""); System.out.println(1&2); /* * 1 001 * 2 010 * 0 000 */ System.out.println(4&5); /* * 4 100 * 5 101 * 4 100 */ System.out.println(15&21); /* * 15 01111 * 21 10101 * 5 00101 */ System.out.println("-----"); System.out.println(~5); /* * 5 00000101 *-6 11111010 * 00000101+1 * */ System.out.println(~21); /* * 21 00010101 *-22 11101010 * 00010101+1 * */ System.out.println(~-16); /* *-16 11110000 * 15 00001111 */ System.out.println(""); System.out.println(15<<2); /* * 15 0001111 * 60 0111100 */ System.out.println("-----"); System.out.println(-5>>>2); /* * 5 00000101 * -5 11111011 * 2^32右移2个0 */ System.out.println(-5>>>30); /* * -5 11111011 * 2^32右移30个0 * 00000011 */ } }
移位运算的总结
对于左移运算:
对于右移运算:
在对byte 和short类型的值进行移位运算时 , Java将自动把这些类型扩大为 int 型,而且,移位后的值也是int 型;如果左移不超过31位,原来对应各位的值不会丢弃。但是,如果你对一个负的byte 或者short类型的值进行移位运算,它被扩大为int 型后,它的符号也被扩展,结果的高位就会被1填充。因此,为了得到正确的结果,你就要舍弃得到结果的高位。这样做的最简单办法是将移位运算的结果再转换成 byte 型 。
无符号右移(>>>) 与 右移(>>)的区别
黑马程序员_Java环境搭建及语言基础,布布扣,bubuko.com
标签:android des style blog http java
原文地址:http://www.cnblogs.com/iadanac/p/3826324.html