微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!
概述专题提供概述的最新资讯内容,帮你更好的了解概述。
01-01java概述 doc命令、jdk\jre下载安装、path、classpath配置、开发中常见小问题
 1:计算机概述(了解)(1)计算机(2)计算机硬件(3)计算机软件系统软件:window,linux,mac应用软件:qq,yy,飞秋(4)软件开发(理解)软件:是由数据和指令组成的。(计算器)开发:就是把软件做出来。如何实现软件开发呢?就是使用开发工具和计算机语言做出东西来(5)语言自然语言:人与人交流沟通的计算机语言:人与计算机交流沟通的C,C++,C#,Java(6)人机交换图形界面:操作方便只管DOS命令:需要记忆一些常见的命令2:键盘功能键的认识和快捷键(1)功能键的认识tabshiftctrlaltwindos空格上下左右回车截图 prtSc(2)快捷键全选 Ctrl+A复制 Ctrl+C粘贴 Ctrl+V剪切 Ctrl+X撤销 Ctrl+Z保存 Ctrl+S3:常见的DOS命令打开控制台 Windows+r 运行 输入cmd 回车,就进入控制台(1)常见的如下盘符的切换d:回车目录的进入cd javasecd javaseday01code目录的回退cd..cd清屏cls退出exit(2)其他的几个(了解)dir(directory):列出当前目录下的文件以及文件夹md (make directory) : 创建目录rd (remove directory): 删除目录,区别于删除文件cd (change directory)改变指定目录(进入指定目录)cd.. : 退回到上一级目录cd: 退回到根目录del (delete): 删除文件,删除一堆后缀名一样的文件*.txtexit : 退出dos命令行cls : (clear screen)清屏4:Java语言概述(1)Java语言的发展史Java之父JDK1.4.2JDK5JDK7(2)Java语言的特点有很多小特点,重点有两个开源,跨平台(3)Java语言是跨平台的,请问是如何保证的呢?(理解)我们是通过翻译的案例讲解的。针对不同的操作系统,提高不同的jvm来实现的。(4)Java语言的平台JavaSEJavaME--AndroidJavaEE 5:JDK,JRE,JVM的作用及关系(1)作用JVM:保证Java语言跨平台JRE:Java程序的运行环境JDK:Java程序的开发环境(2)关系JDK:JRE+工具JRE:JVM+类库 6:JDK的下载,安装,卸载(1)下载到官网。通过官方网站获取JDK http://www.oracle.com针对不同操作系统,下载不同的JDK版本识别计算机的操作系 A:也可以到百度搜索即可。B:我给你。(2)安装A:绿色版 解压就可以使用B:安装版 必须一步一步的安装,一般只要会点击下一步即可注意:建议所有跟开发相关的软件都不要安装在有中文或者空格的目录下。当提示安装JRE时,可以选择不安装。(3)卸载A:绿色版 直接删除文件夹B:安装版a:控制面板 -- 添加删除程序b:通过专业的软件卸载工具。(比如360的软件管家卸载)  安装好的路径  检测是否安装成功在cmd输入Java,即可知道7:第一个程序:HelloWorld案例 class HelloWorld {public static void main(String[] args) {System.out.println("HelloWorld");}}(1)程序解释:A:Java程序的最基本单位是类,所以我们要定义一个类。格式:class 类名举例:class HelloWorldB:在类中写内容的时候,用大括号括起来。C:Java程序要想执行,必须有main方法。格式:public static void main(String[] args)D:要指向那些东西呢,也用大括号括起来。E:你要做什么呢?今天我们仅仅做了一个简单的输出格式:System.out.println("HelloWorld");注意:""里面的内容是可以改动的。(2)Java程序的开发执行流程:A:编写java源程序(.java)B:通过javac命令编译生成.class文件C:通过java命令运行.class文件        8:常见的问题 (1)扩展名被隐藏,一定要避免如何找到:工具--文件夹选项--查看--去除隐藏扩展名的那个勾勾(2)我要求文件名称和类名一致。实际上不这样做也是可以的。但是,注意:javac后面跟的是文件名+扩展名java后面跟的类名不带扩展名(3)Java语言严格区分大小写,请注意。还有就是单词不要写错了。(4)见到非法字符: 65307肯定是中文问题。我们写程序要求标点符号必须全部是英文状态。(5)括号的配对问题。一般来说,括号都是成对出现的。(6)遇到在类 HelloWorld 中找不到主方法, 请将主方法定义为肯定是主方法的格式问题。运行原理  9:path环境变量(1)path环境变量的作用保证javac命令可以在任意目录下运行。同理可以配置qq等(2)path配置的两种方案:A:方案1(了解)B:方案2找到环境变量的位置,在系统变量里面新建:变量名:JAVA_HOME变量值:D:developJavajdk1.7.0_60修改:变量名:Path变量值:%JAVA_HOME%bin;以前的内容path环境变量配置的作用程序的执行需要使用外部指令javac,但是javac指令仅仅能在JDK安装目录下的bin目录下时候,因此程序只能写入bin目录 程序开发过程中,不能将源代码写入JDK的安装目录,因此需要将源程序保存到任意位置的指定目录(英文目录),所以需要使javac指令在任意目录下可以运行path环境变量配置方式1通过配置path环境变量,将javac指令所在目录也就是JDK安装目录下的bin目录配置到path变量下,即可使javac指令在任意目录下运行 win7,win8系统:右键点击桌面计算机→选择属性→选择高级系统设置→选择高级选项卡→点击环境变量→下方系统变量中查找path→双击path 将jdk安装目录下的bin目录添加到最左边并添加分号 测试是否配置成功,在cmd任意目录下运行javac在D盘放HelloWorl.java 也可以运行了path环境变量配置方式2-----推荐方法path环境变量的参照形配置方式创建新的变量名称:JAVA_HOME 为JAVA_HOME添加变量值:JDK安装目录将path环境变量中JDK目录修改 %JAVA_HOME%bin; 测试可以运行成功path环境变量具有先后顺序 classpath环境变量配置方式----一般不需要配置,稍微理解即可作用:使classpath目录中的.class文件可以在任意目录运行创建新的变量名称:classpath值设定为指定的还有class文件的目录,多个目录间使用分号(;)分割技巧:通常将配置的目录最前面添加.配置,即便当前目录,使.class文件搜索时首先搜索当前目录,然后根据目录配置的顺序依次查找,找到后即运行,因此classpath目录中的配置存在先后顺序 path和classpath的区别path环境变量里面记录的是可执行性文件,如.exe文件,对可执行文件先在当前路径去找,如果没找到就去path环境变量中配置的路径去找 classpath环境变量里记录的是java类的运行文件所在的目录 
06-03 Java 面向对象思想概述、开发设计特征,类和对象的定义使用,对象内存图
面向对象思想概述、开发设计特征1:面向对象思想面向对象是基于面向过程的编程思想。面向过程:强调的是每一个功能的步骤面向对象:强调的是对象,然后由对象去调用功能2:面向对象的思想特点A:是一种更符合我们思想习惯的思想B:可以将复杂的事情简单化C:将我们从执行者变成了指挥者举例:买电脑:面向过程:我的了解电脑--了解我自己的需求--找对应的参数信息--去中关村买电脑--讨价还价--买回电脑面向对象:我知道我要买电脑 -- 班长去给我买 -- 班长就买回来了洗衣服:面向过程:把衣服脱下--找一个盆--放点洗衣粉--加点水--把衣服扔进去--搓一搓--清洗衣服--拧干--晾起来面向对象:把衣服脱下--打开全自动洗衣机--扔进去--一键即可--晾起来吃饭:面向过程:去超市买菜--摘菜--洗菜--切菜--炒菜--盛起来--吃面向对象:上饭店吃饭,你--服务员(点菜)--厨师(做菜)--服务员(端菜)--吃家常事物,买洗衣机和去饭店太不划算了,所以,找个对象。但是,你不跟我好好学习,你将来4000,你对象8000。3:把大象装进冰箱面向过程:动作有哪些呢?A:打开冰箱门B:装进大象C:关闭冰箱门代码体现;class Demo {public static void main(String[] args) {/*System.out.println("打开冰箱门");//打开冰箱门的东西,我现在仅仅是为了演示,就写了一个输出语句//其实,它可能需要做很多操作。//这个时候代码就比较多一些了//假设我要多次打开冰箱门,//代码一多,每次都写一遍,麻烦不//我们就应该用方法改进System.out.println("装进大象");System.out.println("关闭冰箱门");*///写了方法以后,调用就改变了open();in();close();}public static void open() {System.out.println("打开冰箱门");}public static void in() {System.out.println("装进大象");}public static void close() {System.out.println("关闭冰箱门");}}面向对象:我们怎么才能更符合面向对象思想呢?A:有哪些类呢?B:每个类有哪些东西呢?C:类与类直接的关系是什么呢?把大象装进冰箱的分析? (如何分析有哪些类呢?UML。名词提取法。)A:有哪些类呢?大象冰箱DemoB:每个类有哪些东西呢?大象:进去冰箱:开门关门Demo:main方法C:类与类直接的关系是什么呢?Demo中使用大象和冰箱类的功能。代码体现:class 大象 {public static void in() {System.out.println("装进大象");}}class 冰箱 {public static void open() {System.out.println("打开冰箱门");}public static void close() {System.out.println("关闭冰箱门");}}class Demo {public static void main(String[] args) {冰箱调用开门大象调用进去冰箱调用关门}}4:开发,设计,特征面向对象开发就是不断的创建对象,使用对象,指挥对象做事情。面向对象设计其实就是在管理和维护对象之间的关系。面向对象特征封装(encapsulation)继承(inheritance)多态(polymorphism)类和对象的概述现实世界中是如何描述一个事物的呢?举例:学生姓名,年龄,性别...学习,吃饭,睡觉属性:该事物的描述信息行为:该事物能够做什么我们学习编程语言,是为了模拟现实世界的事物的。而我们学习的编程语言Java中最基本的单位是:类。所以,我们就应该把事物通过类来体现出来:由此,我们就得到了现实世界事物和类的对应关系:事物: 类:属性 成员变量行为 成员方法类:是一组相关的属性和行为的集合。是一个抽象的概念。对象:是该类事物的具体表现形式。具体存在的个体。举例:学生:类班长:对象类的定义:学生类/*事物:属性 事物的信息描述行为 事物的功能类:成员变量 事物的属性成员方法 事物的行为定义一个类,其实就是定义该类的成员变量和成员方法。案例:我们来完成一个学生类的定义。学生事物:属性:姓名,年龄,地址...行为:学习,吃饭,睡觉...把事物要转换为对应的类:学生类:成员变量:姓名,年龄,地址...成员方法:学习,吃饭,睡觉...成员变量:和以前变量的定义是一样的格式,但是位置不同,在类中方法外。成员方法:和以前的方法定义是一样的格式,但是今天把static先去掉。首先我们应该定义一个类,然后完成类的成员。*///这是我的学生类class Student {//定义变量//姓名//这里定义在类中方法外String name;//年龄int age;//地址String address;//定义方法//学习的方法//这里没有staticpublic void study() {System.out.println("学生爱学习");}//吃饭的方法public void eat() {System.out.println("学习饿了,要吃饭");}//睡觉的方法public void sleep() {System.out.println("学习累了,要睡觉");}}类的使用:学生类/*在一个java文件中写两个类:一个基本的类,一个测试类。注意:文件名称和测试类名称一致。如何使用呢?创建对象使用。如何创建对象呢?格式:类名 对象名 = new 类名();如何使用成员变量呢?对象名.变量名如何使用成员方法呢?对象名.方法名(...)*///这是学生类class Student {//姓名String name; //null//年龄int age; //0//地址String address; //null//学习public void study() {System.out.println("学生爱学习");}//吃饭public void eat() {System.out.println("学习饿了,要吃饭");}//睡觉public void sleep() {System.out.println("学习累了,要睡觉");}}//这是学生测试类class StudentDemo {public static void main(String[] args) {//如何创建对象呢?//类名 对象名 = new 类名();Student s = new Student();//输出成员变量值//System.out.println(s.name);//System.out.println(s.age);//System.out.println(s.address);//如何使用成员变量呢?对象.变量名System.out.println(s.name+"---"+s.age+"---"+s.address);//给成员变量赋值s.name = "林青霞";s.age = 27;s.address = "北京";//赋值后的输出System.out.println(s.name+"---"+s.age+"---"+s.address);//调用方法。如何使用成员方法呢?对象名.方法名(...)s.study();s.eat();s.sleep();}}一个对象的内存图:两个对象的内存图三个对象的内存图----  两个引用指向同一个堆内存 
10-03 Java 包的概述和讲解
带包的编译和运行A:手动式a:编写一个带包的java文件。b:通过javac命令编译该java文件。c:手动创建包名。d:把b步骤的class文件放到c步骤的最底层包e:回到和包根目录在同一目录的地方,然后运行带包运行。    B:自动式B:自动式a:编写一个带包的java文件。b:javac编译的时候带上-d即可,-d后面有个点javac -d . HelloWorld.javac:回到和包根目录在同一目录的地方,然后运行,带包运行。Java cn.itcast.HelloWorld  不同包下,类之间的访问。导包import/*Test类,测试导包:格式:import 包名;这种方式导入是到类的名称。注意:我们用谁就导谁。注意事项:package,import,class有没有顺序关系?有。package > import > classPackage:只能有一个import:可以有多个class:可以有多个,以后建议是一个*/package cn.itcast;import com.liuyi.Demo;class Test {public static void main(String[] args) {//Demo d = new Demo();/*com.liuyi.Demo d = new com.liuyi.Demo();System.out.println(d.sum(10,20));com.liuyi.Demo d2 = new com.liuyi.Demo();System.out.println(d2.sum(10,20));com.liuyi.Demo d3 = new com.liuyi.Demo();System.out.println(d3.sum(10,20));com.liuyi.Demo d4 = new com.liuyi.Demo();System.out.println(d4.sum(10,20));*/Demo d = new Demo();System.out.println(d.sum(10,20));}}/*第一个问题:找不到Demo第二个问题:程序包com.liuyi不存在第三个问题: Demo在com.liuyi中不是公共的; 无法从外部程序包中对其进行访问*/  
10-05 Java 内部类概述和讲解
内部类的概述/*内部类概述:把类定义在其他类的内部,这个类就被称为内部类。举例:在类A中定义了一个类B,类B就是内部类。内部的访问特点:A:内部类可以直接访问外部类的成员,包括私有。B:外部类要访问内部类的成员,必须创建对象。*/class Outer {private int num = 10;class Inner {public void show() {//内部类可以直接访问外部类的成员,包括私有。System.out.println(num);}}public void method() {//找不到符号//show();//外部类要访问内部类的成员,必须创建对象。Inner i = new Inner();i.show();}}class InnerClassDemo {public static void main(String[] args) {}}内部类位置/*内部类位置成员位置:在成员位置定义的类,被称为成员内部类。局部位置:在局部位置定义的类,被称为局部内部类。成员位置:在成员位置定义的类,被称为成员内部类。*/class Outer {private int num = 10;//成员位置/*class Inner {}*/public void method() {//局部位置class Inner {}}}class InnerClassDemo2 {public static void main(String[] args) {}}如何直接访问成员内部类的成员/*成员内部类:如何直接访问内部类的成员。外部类名.内部类名 对象名 = 外部类对象.内部类对象;*/class Outer {private int num = 10;class Inner {public void show() {System.out.println(num);}}}class InnerClassDemo3 {public static void main(String[] args) {//需求:我要访问Inner类的show()方法//格式:外部类名.内部类名 对象名 = 外部类对象.内部类对象;Outer.Inner oi = new Outer().new Inner();oi.show();}}成员内部类的修饰符:/*成员内部类的修饰符:private 为了保证数据的安全性static 为了方便访问数据注意:静态内部类访问的外部类数据必须用静态修饰。案例:我有一个人(人有身体,身体内有心脏。)class Body {private class Heart {public void operator() {System.out.println("心脏搭桥");}}public void method() {if(如果你是外科医生) {Heart h = new Heart();h.operator();}}}按照我们刚才的讲解,来使用一下Body.Heart bh = new Body().new Heart();bh.operator();//加了private后,就不能被访问了,那么,怎么玩呢?Body b = new Body();b.method();*/class Outer {private int num = 10;private static int num2 = 100;//内部类用静态修饰是因为内部类可以看出是外部类的成员public static class Inner {public void show() {//System.out.println(num);System.out.println(num2);}public static void show2() {//System.out.println(num);//报错。静态内部类访问的外部类数据必须用静态修饰。System.out.println(num2);}}}class InnerClassDemo4 {public static void main(String[] args) {//使用内部类// 限定的新静态类//Outer.Inner oi = new Outer().new Inner();//这个访问方式错误//oi.show();//oi.show2();//成员内部类被静态修饰后的访问方式是://格式:外部类名.内部类名 对象名 = new 外部类名.内部类名();Outer.Inner oi = new Outer.Inner();oi.show();oi.show2();//show2()的另一种调用方式。因为静态方法,可以通过类名调用。Outer.Inner.show2();}} 内部类和外部类没有继承关系。通过外部类名限定this对象/*案例:要求请填空分别输出30,20,10。注意:1:内部类和外部类没有继承关系。2:通过外部类名限定this对象Outer.this*/class Outer {public int num = 10;class Inner {public int num = 20;public void show() {int num = 30;System.out.println(num);System.out.println(this.num);//System.out.println(new Outer().num);System.out.println(Outer.this.num);}}}class InnerClassTest {public static void main(String[] args) {Outer.Inner oi = new Outer().new Inner();oi.show();}} 局部位置的内部类访问局部变量问题/*局部内部类A:可以直接访问外部类的成员B:在局部位置,可以创建内部类对象,通过对象调用内部类方法,来使用局部内部类功能注意事项:局部内部类访问局部变量的注意事项?A:局部内部类访问局部变量必须用final修饰B:为什么呢?局部变量是随着方法的调用而调用,随着调用完毕而消失。而堆内存Inner的内容并不会立即消失。所以,我们加final修饰。加入final修饰后,这个变量就成了常量。既然是常量。你消失了。我在内存中存储的是数据20,所以,我还是有数据在使用。*/class Outer {private int num = 10;public void method() {//int num2 = 20;final int num2 = 20; //局部内部类访问局部变量必须用final修饰class Inner {public void show() {System.out.println(num);//从内部类中访问本地变量num2; 需要被声明为最终类型System.out.println(num2);//20}}//System.out.println(num2);Inner i = new Inner();i.show();}}class InnerClassDemo5 {public static void main(String[] args) {Outer o = new Outer();o.method();}} 匿名内部类格式,方法调用/*匿名内部类就是内部类的简化写法。前提:存在一个类或者接口这里的类可以是具体类也可以是抽象类。格式:new 类名或者接口名(){重写方法;}本质是什么呢?是一个继承了该类或者实现了该接口的子类的匿名对象。*/interface Inter {public abstract void show();public abstract void show2();}class Outer {public void method() {Inter i = new Inter() { //多态public void show() {System.out.println("show");}public void show2() {System.out.println("show2");}};i.show();//是一个继承了该类或者实现了该接口的子类的匿名对象。所以可以调用方法i.show2();}}class InnerClassDemo6 {public static void main(String[] args) {Outer o = new Outer();o.method();}}匿名内部类在开发中的使用/*匿名内部类在开发中的使用*/interface Person {public abstract void study();}class PersonDemo {//接口名作为形式参数//其实这里需要的不是接口,而是该接口的实现类的对象public void method(Person p) {p.study();}}//实现类class Student implements Person {public void study() {System.out.println("好好学习,天天向上");}}class InnerClassTest2 {public static void main(String[] args) {//测试PersonDemo pd = new PersonDemo();Person p = new Student();pd.method(p);System.out.println("--------------------");//匿名内部类在开发中的使用//匿名内部类的本质是继承类或者实现了接口的子类匿名对象//用完一次就消失Person ss = new Person(){public void study() {System.out.println("好好学习,天天向上");}};pd.method(ss);// pd.method(new Person(){// public void study() {// System.out.println("好好学习,天天向上");// }// });}}案例/*案例:按照要求,补齐代码interface Inter { void show(); }class Outer { //补齐代码 }class OuterDemo {public static void main(String[] args) {Outer.method().show();}}要求在控制台输出”HelloWorld”*/interface Inter {void show();//记得默认有 public abstract}class Outer {//补齐代码public static Inter method() {//子类对象 -- 子类匿名对象return new Inter() {public void show() {System.out.println("HelloWorld");}};}}class OuterDemo {public static void main(String[] args) {Outer.method().show();/*1:Outer.method()可以看出method()应该是Outer中的一个静态方法。2:Outer.method().show()可以看出method()方法的返回值是一个对象。又由于接口Inter中有一个show()方法,所以我认为method()方法的返回值类型是一个接口。*/}} 
13-03 Java 基本类型包装类概述,Integer类,Character
基本类型包装类概述将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。常用的操作之一:用于基本数据类型与字符串之间的转换。基本类型和包装类的对应Byte,Short,Integer,Long,Float,Double,Character,BooleanInteger类为了让基本类型的数据进行更多的操作,Java就为每种基本类型提供了对应的包装类类型package cn.itcast_01;/** 需求1:我要求大家把100这个数据的二进制,八进制,十六进制计算出来* 需求2:我要求大家判断一个数据是否是int范围内的。* 首先你的知道int的范围是多大?** 为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一种基本数据类型提供了对应的类类型。包装类类型。* byte Byte* short Short* int Integer* long Long* float Float* double Double* char Character* boolean Boolean** 用于基本数据类型与字符串之间的转换。*/public class IntegerDemo {public static void main(String[] args) {// 不麻烦的就来了// public static String toBinaryString(int i)System.out.println(Integer.toBinaryString(100));// public static String toOctalString(int i)System.out.println(Integer.toOctalString(100));// public static String toHexString(int i)System.out.println(Integer.toHexString(100));// public static final int MAX_VALUESystem.out.println(Integer.MAX_VALUE);// public static final int MIN_VALUESystem.out.println(Integer.MIN_VALUE);}}Integer的构造方法package cn.itcast_02;/** Integer的构造方法:* public Integer(int value)* public Integer(String s)* 注意:这个字符串必须是由数字字符组成*/public class IntegerDemo {public static void main(String[] args) {// 方式1int i = 100;Integer ii = new Integer(i);System.out.println("ii:" + ii);// 方式2String s = "100";// NumberFormatException// String s = "abc";//这个字符串必须是由数字字符组成Integer iii = new Integer(s);System.out.println("iii:" + iii);}}String和int的相互转换package cn.itcast_03;/** int类型和String类型的相互转换** int -- String* String.valueOf(number)** String -- int* Integer.parseInt(s)*/public class IntegerDemo {public static void main(String[] args) {// int -- Stringint number = 100;// 方式1String s1 = "" + number;System.out.println("s1:" + s1);// 方式2String s2 = String.valueOf(number);System.out.println("s2:" + s2);// 方式3// int -- Integer -- StringInteger i = new Integer(number);String s3 = i.toString();System.out.println("s3:" + s3);// 方式4// public static String toString(int i)String s4 = Integer.toString(number);System.out.println("s4:" + s4);System.out.println("-----------------");// String -- intString s = "100";// 方式1// String -- Integer -- intInteger ii = new Integer(s);// public int intValue()int x = ii.intValue();System.out.println("x:" + x);//方式2//public static int parseInt(String s)int y = Integer.parseInt(s);System.out.println("y:"+y);}} Integer的进制转换的操作package cn.itcast_04;/** 常用的基本进制转换* public static String toBinaryString(int i)* public static String toOctalString(int i)* public static String toHexString(int i)** 十进制到其他进制* public static String toString(int i,int radix)* 由这个我们也看到了进制的范围:2-36* 为什么呢?0,...9,a...z,加起来36个** 其他进制到十进制* public static int parseInt(String s,int radix)*/public class IntegerDemo {public static void main(String[] args) {// 十进制到二进制,八进制,十六进制System.out.println(Integer.toBinaryString(100));System.out.println(Integer.toOctalString(100));System.out.println(Integer.toHexString(100));System.out.println("-------------------------");// 十进制到其他进制System.out.println(Integer.toString(100, 10));System.out.println(Integer.toString(100, 2));System.out.println(Integer.toString(100, 8));System.out.println(Integer.toString(100, 16));System.out.println(Integer.toString(100, 5));System.out.println(Integer.toString(100, 7));System.out.println(Integer.toString(100, -7));System.out.println(Integer.toString(100, 70));System.out.println(Integer.toString(100, 1));System.out.println(Integer.toString(100, 17));System.out.println(Integer.toString(100, 32));System.out.println(Integer.toString(100, 37));System.out.println(Integer.toString(100, 36));System.out.println("-------------------------");//其他进制到十进制System.out.println(Integer.parseInt("100", 10));System.out.println(Integer.parseInt("100", 2));System.out.println(Integer.parseInt("100", 8));System.out.println(Integer.parseInt("100", 16));System.out.println(Integer.parseInt("100", 23));//NumberFormatException//System.out.println(Integer.parseInt("123", 2));}}JDK5的新特性--自动装箱和自动拆箱package cn.itcast_05;/** JDK5的新特性* 自动装箱:把基本类型转换为包装类类型* 自动拆箱:把包装类类型转换为基本类型** 注意一个小问题:* 在使用时,Integer x = null;代码就会出现NullPointerException。* 建议先判断是否为null,然后再使用。*/public class IntegerDemo {public static void main(String[] args) {// 定义了一个int类型的包装类类型变量i// Integer i = new Integer(100);Integer ii = 100;ii += 200;System.out.println("ii:" + ii);// 通过反编译后的代码// Integer ii = Integer.valueOf(100); //自动装箱// ii = Integer.valueOf(ii.intValue() + 200); //自动拆箱,再自动装箱// System.out.println((new StringBuilder("ii:")).append(ii).toString());Integer iii = null;// NullPointerException,如果iii为空对象,会报错,需要判断是否为空if (iii != null) {iii += 1000;System.out.println(iii);}}}-128到127之间的数据缓冲池问题package cn.itcast_06;/** 看程序写结果** 注意:Integer的数据直接赋值,如果在-128到127之间,会直接从缓冲池里获取数据*/public class IntegerDemo {public static void main(String[] args) {Integer i1 = new Integer(127);Integer i2 = new Integer(127