Java达内学习笔记3

时间:2024.4.20

内存分类:栈内存、堆内存、寄存器、方法构造(代码段)、池内存

栈内存:地址、基本内存的值(栈内存很小,不放对象)

堆内存:对象、地址、基本内存的值、

寄存器:运算的中间值

代码段:如构造方法等的代码

池内存:长放在内存里面的东西放在池内存里面(常驻内存)

Staff  staff = new  Staff () ;

执行次序:①Staff  staff现在栈里面

图 1-1

publicclass Test {

    publicstaticvoid main(String[] args) {

        Staff staff = new Staff();

        staff.id="007";

        staff.name="詹姆斯.邦德";

        staff.salary=10000.0F;

        staff.faSalary();

    }

}

publicclass Staff {

    String id;

    String name;

    float salary;

    publicvoid faSalary(){

        System.out.println(salary);

    }

}

编译:javac -d . Hello.java

运行:Java com.tenara.Hello

import语句可以导入不同包的class文

虚拟机先找栈,通过栈找到堆!

垃圾回收机制回收的主要是堆内存里面的东西。GC是怎么判断堆内存里面的东西已经成为垃圾可以被回收了?GC是从栈找到堆,如果堆里面的内容在栈里面没有对应的地址变元,则被视为垃圾清理掉!

import java.util.Scanner; //扫描键盘

publicclass Test2 {

    publicstaticvoid main(String [] args){

        Scanner sc = new Scanner(System.in);

        //扫描字符串

        String str=sc.next();

        System.out.println("输入了"+str);

        //扫描整数

        int aa=sc.nextInt();

        System.out.println("输入了"+aa);

        //扫描double

        double dd=sc.nextDouble();

        System.out.println("输入了"+dd);

    }

}

Operators

1、"( )"优先级高        2、"="优先级低

Assignment operators

=   +=   -=   %=   *=   /=    <<=     >>=     >>>=

&=    ^=      |=

publicclass Test6 {

      publicstaticvoid main(String [] arsg){

            byte b1=2;

            byte b2=3;

            b1=(byte)(b1+b2);  // 语句1   加法,转int

            b1+=b2;  //语句2    赋值,不转int

      }

}

b1+=b2;是否和语句b1=b1+b2完全等价?

答案是否定的,上面程序中的语句1和语句2给出了证明。

语句1中byte类型参与运算时要先转换为int类型,因此要进行强制类型转换。而语句2中,自动进行类型转换。(我的理解:我们可以把“b11+=b2;”看做是对“b1=(byte)(b1+b2);”的优化!)

publicclass Test10 {

      publicstaticvoid main(String[] args) {

            byte b1=100;

            byte b11=100;

            byte b2=120;

            b1=(byte)(b1+b2);

            System.out.println(b1);

            b11+=b2;

            System.out.println(b11);

      }

}

运行结果为:-36   -36

Comparison operators

>    >=     <     <=     instanceof

Equality operators

= =        !=

Arithmetic operators

+       -       *       /        %

import java.util.Scanner;

publicclass Test4 {

      publicstaticvoid main(String [] args){

            Scanner sc=new Scanner(System.in);

            int second=sc.nextInt();

            int hour=second/3600;

            int minute=second%3600/60;

            int second2=second%60;

            System.out.println(second+"秒= "+hour+"小时"

                        +minute+"分钟"+second2+"秒");

      }

}

Shift operators

>>   <<    >>>

Bitwise operators

&     |      ^(按位异或)   ~(按位取反)

Logic operators

&&  (逻辑与) &      ||  (逻辑或)  |      !(逻辑非)

&&和&都是逻辑与,它们之间的区别:&&是短路逻辑与,有短路的效果,效率更高。

||和|都是逻辑或,它们之间的区别:||是短路逻辑或,有短路的效果,效率更高。

publicclass Test8 {

      @SuppressWarnings("unused")

      publicstaticvoid main(String[] args) {

            int i=6;

            System.out.println(1>2&&(5<i++));

            System.out.println(i);

            int j=6;

            System.out.println(1>2&(5<j++));

            System.out.println(j);

            int m=6;

            System.out.println(2>1||(5<m++));

            System.out.println(m);

            int n=6;

            System.out.println(2>1|(5<n++));

            System.out.println(n);

      }

}

运行结果: false   6     false    7     true    6     true    7

Conditional  operators

? :

publicclass Test9 {

      publicstaticvoid main(String[] args) {

            int a=5;

            int b=3;

            System.out.println(a>b?a:b);

            System.out.println(a>b?"ok":4);

      }

}

注意第二个输出语句中"ok"和4的类型不同,有的JDK版本可能要求条件语句中这两个语句的类型必须相同,如果运行出错,可以更换JDK的版本。

Other operators

++    --

publicclass Test5 {

      publicstaticvoid main(String [] args){

            int i=2;

            System.out.println(i++);   //2

            System.out.println(i);      //3

            int a=i++ + ++i;    //3+5=8

            System.out.println(a);

            System.out.println(i);  //5

            for(int j=0;j<1000;j++){

                  i=i++;

            }

            System.out.println(i);   //5

      }

}

程序分析:

为什么经过1000次循环后,i=i++;的结构仍然是5?

(达内老师讲解)++的运算符优先级高于=(赋值)运算符,i++的运算结果为5,送入寄存器,这时寄存器中存放的值为5。然后i的值变为6,继续执行赋值语句,赋值时,把寄存器中的值赋5值给i,因此i的值是在5和6之间来回切换的!

(我的理解)++的运算符优先级高于=(赋值)运算符,因此这个表达式的执行顺序如下:①运算i++这个表达式的结果为5 。----> ②i的值自加1(i++先参与运算,再自加1),即i的值变为6。----> ③将i++这个表达式的值,即第①部的结果赋值给变量i。("="表达式是将右边表达式的值赋值与左边的变量,因此是将5赋于i,而不是将6赋于i)。整个循环过程i的值在5和6之间来回切换。

作业:加上scanner输入员工的id/name/sal,然后执行加薪和发薪的作业。

用两种写法输出3个数字的最大值(用scanner输入3个Int,打印出最大值)

Flow Control

if else statement

switch case statement

while loop

do while loop

for loop


第二篇:达内Java课程


更多相关推荐:
县委中心组学习型党组织建设学习笔记内容之二

县委中心组学习型党组织建设学习笔记内容之二——什么是学习型政党学习型政党以人的素质提高和人的全面发展为创建的根本宗旨,并最终以党员干部素质率先发展影响、辐射、带动全社会公民素质的全面发展,其实质是一种现代化建设…

陈德权中心组学习笔记

一、要乐于学习。要沉入进去、静下心来,少一些应酬,多一些读书;少一些浮躁,多一些沉静。要通过学习,提高自身工作能力和水平,解决实际问题,体会到学习的快乐;二、要善于学习。学习不仅是汲取知识的途径,而其本身就是一…

县委中心组学习型党组织建设学习笔记内容之五

县委中心组学习型党组织建设学习笔记内容之五——学习型党组织建设学习的主要内容(一)坚持用中国特色社会主义理论体系武装头脑。深入学习马克思列宁主义、毛泽东思想,深入学习邓小平理论、“三个代表”重要思想以及科学发展…

10月份团课学习笔记

时间:20xx年x月x日地点:学习室参加人:全体团员授课人:郑大伟内容:一、《六个“为什么”--对几个重大问题的回答》连载五:充满活力的基本经济制度二、《关于加强和改进新形势下党建若干重大问题决定》内容一:随着…

NS2学习笔记_tcl和Otcl

NS2学习笔记——tcl和OtclTCL语言1.解释性语言,可以使用命令行或者脚本的方式运行2.以#和;#为注释符,其中#只能在行首注释,;#可以在行尾注释,例如:#注释seti100setj100;#注释3.…

两会学习笔记、学习体会、学习心得-----大学生版

自两会闭幕至今已快接近一个月了,在这段时间通过参加“深入学习实践科学发展观”的学习、调研、分析、讨论,我深刻地感到:科学发展观有着丰富深刻的内涵,十七大报告明确指出:“科学发展观,第一要义是发展,核心是以人为本…

20xx年政治学习笔记范文

20xx年政治学习笔记范文20xx年是全面完成“十一五”规划任务的最后一年,也是推动新城经济社会又好又快发展的关键一年。当前,国际经济出现复苏迹象,我国经济回升向好,中央继续实施积极的财政政策和适度宽松的货币政…

20xx政治学习笔记(完整) 2吕军

政治学习吕军政治学习第一次学习两会精神促进教育发展两会是中国的窗口关注中国就不能不关注两会学校组织全体教职工收看了两会特别报道意义十分重大当前教育背景下作为教师只有不断地学习不断地丰富自己才能让自己不断地发展以...

新课程标准学习笔记

新课程标准的理念与创新第一讲新课程的基本理念引言课程改革是教育改革的核心课程创新因而是教育制度创新的重点本次改革的宗旨是构建具有中国特色的现代化的基础教育课程体系贯穿本轮课程改革的核心理念是为了中华民族的复兴为...

20xx天津公务员考试申论写作公文范文之学习笔记

20xx天津公务员考试申论写作公文范文之学习笔记天津公务员考试公务员考试申论中的贯彻执行类题目历来是广大考生成公路上的拦路虎因为贯彻执行类题类目庞杂涵盖范围广体裁不限导致考生复习难度加大在此中公教育专家为各位考...

十八大学习笔记

学习党的十八大笔记学精神转作风干实事谋发展学习党的十八大报告对于基层来说就是要学精神转作风干实事谋发展学精神学习党的十八大精神就是要把十八大精神作为旗帜作为纲领始终贯彻到各项工作中去紧密联系工作思想实际坚持学以...

学习笔记学习心得

农村基层干部廉洁履行职责若干规定试行为进一步加强农村党风廉政建设促进农村基层干部廉洁履行职责维护农村集体和农民群众利益推动农村科学发展促进农村社会和谐依据中国共 产 党章程和其他有关党内法规国家法律法规制定本规定总...

学习笔记(125篇)