2009.12.15笔记

来源:互联网 发布:知乎app怎么退出登录 编辑:程序博客网 时间:2024/05/18 01:19

打包:

javac -d表示打包

开始-->运行-->cmd回车-->e:回车-->cd 2020回车-->cd 1215回车-->javac -d f: Test1.java(表示把当前目录下的Test1.java文件打包到f盘下)

-->java -cp f: Test1(运行f盘下的Test1.class文件)

 

Test1.java中首行插入package a.b.c.d;然后在dos中继续执行javac -d . Test1.java,

再看E:/2020A/1215下有/a/b/c/d,里面有个Test1.class文件,dos中继续执行java -cp . a.b.c.d.Test1,则显示运行结果。不能执行cda-->cd b-->cd c-->cd d-->

java Test,因为是在文件里面打的包,也就是刚才在Test.java中写的package a.b.c.d;在文件中这么写的只能以这种方式运行,记住就好!

 

Test1.java中首行插入package a.b.c.d;然后在dos中继续执行javac -d f: Test1.java,

再看f下有a/b/c/d,里面有个Test1.class文件,dos中继续执行java -cp f: a.b.c.d.Test1,则显示运行结果。

 

javac -d f://a/b/c Person.java(那么就是f盘下有个a/b/c/d/Test1.class)

 

javac(编译) -d(表示打包)f:(路径,也就是说,这个包打到哪里)Test1.java(我要编译的源文件)

-cp(后面的字符串,表示执行的临时路径,也就是说你的.class字节码文件所在的那个包结构下)

 

dos下,cd..表示回到上一层目录

cd 2020a/1215表示进入1215这个文件夹,也可以是cd 2020a/1215,正斜杠反斜杠都行,就是不能用点,除了上面在文件中打包的特殊外!

 


基本数据类型的值就是地址,对象放在堆里,基本数据类型跟引用都放在栈内存里。换句话说,栈存放的就是地址,存放的就是对象!

栈是先进后出!

New相当与指向的一根箭头!

new等号左边的东西放在栈里,等号右边的东西放在堆里。

 

强制类型转换如int i=200;
byte b=(byte)i; //就是把int i 转化为byte类型的!

 

基本数据类型转换等级:

byte->short,char -> int -> long      

float -> double

int -> float

long -> double

 

switch(表达式);括号中的表达式的返回值必须是下述几种类型之一:int,byte, char, short

 

分析以下两个类,体会值传递:

class BirthDate {
        private int day;
        private int month;
        private int year;
        public BirthDate(int d,int m,int y){
            day = d;  month = m; year = y;
        }
        public void setDay(int d)    { day = d; }
        public void setMonth(int m)    { month = m; }
        public void setYear(int y)    { year = y; }
        public int getDay()    { return day; }
        public int getMonth()    { return month; }
        public int getYear()    { return year;}
        public void display(){
                System.out.println(day + " - " + month + " - " + year);
        }
}

 

 

public class Example{
    public static void main(String args[]){
        Example ex = new Example();
        int date = 9;
        BirthDate d1= new BirthDate(7,7,1970);
        BirthDate d2= new BirthDate(1,1,2000);       
        ex.change1(date);
        ex.change2(d1);
        ex.change3(d2);   
        System.out.println("date=" + date);
        d1.display();
        d2.display();           
    }
    public void change1(int i){i = 1234;}   
    public void change2(BirthDate b){b = new BirthDate(22,2,2004);}
    public void change3(BirthDate b){b.setDay(22);}   
}

 

 

分析以下例子,体会先++跟后++的区别:

public class TestJiaJia
{
public static void main(String args[])
{
 int i = 1;
 int sum = 0;
 int sum2 = 0;
sum = i++ + i++ + i++ + i++;
sum2 = ++i + ++i + ++i + ++i;

System.out.println("i++:"+sum); //输出结果为10
System.out.println("++i:"+sum2); //输出结果为30
}
}

 

 

分析以下例子,体会移位运算符的作用:

class TestYiwei{
public static void main(String args[]){
int i=2;
i=i<<2;
System.out.println(i);//输出结果为8
i=i<<2;
System.out.println(i);//输出结果为32,就是8左移两位,也就是8乘2的2次方,左移几位就乘2的几次方!右移几位就除2的几次方。
i=i>>3;
System.out.println(i);//输出结果为4,32除以8(2的3次方)得4。
}
}

 

原创粉丝点击