java第二天学习内容回顾——java白皮书第三章

  1. 对于由控制台进行输入时,需要利用到Scanner控件进行辅助,可以利用它进行整行或者单字节的读取,此外需要注意,如果是密码方面的输入问题,需要利用的Console空间,其限制每次只能固定读取一整行。
  2. java需要包含某些包时,利用import保留字,不同于Include
  3. java关于格式化输出问题的详述于白皮书P57
  4. String.format方法的使用与作用类似于print,但不同处在于前者只是创建了一个格式化的字符串,而后者则是打印出格式化的字符串。
  5. 对于当前时间的多种打印形式详述与白皮书P59.利用到Date()方法。
  6. 此外5处部分出现过  参数索引值 概念,参数索引值从1开始,因为0有被用作其他意义的标示符防止混淆,且参数索引值以$结尾
  7. 关于文件写入问题,详述与白皮书P60,利用到PrintWriter控件,使用有关文件操作时,因为可能遇到找不到文件的情况,所以需要在main方法后加上throws FileFoundException 语句告诉编译器表示我已经知道可能找不到文件的情况,以及包含包:java.io.*,关于文件的读取操作需要利用到Scanner控件,Paths.get方法可以使文件名转换为文件路径名,从而可使Scanner控件打开文件而不是创建一个字符串。需要注意:在使用打开文件之后需要利用.close方法关闭文件,否则无法看到写入效果。
  8. 利用System.getProperty(“user.dir”)代码可以得到当前IDE的工作目录。
  9. java中虽然goto有被设置为保留字但是真正使用时是利用break+标签或者continue+标签的形式。
  10. java中的for循环体有一种变种形式,用于方便对数组中每一个元素进行操作,此操作不能涉及到下标,详述与白皮书P79
  11. java中不能再枪套的两个块中声明相同的变量,与C++不同。
  12. 对于浮点数的相互比较需要十分注意,在循环体中利用浮点数比较产生退出循环的事件的话可能会产生死循环。
  13. 针对switch语句,白皮书作者不推荐使用,但也有一些细节用法,详述与p73
  14. 带标签的break和带标签的continue,分别是跳出目标循环体和跳入目标循环体,其实本质上是跳出目标块和跳入目标块,因此可以实现多次嵌套循环的跳入,标签需要设置在循环体(块)前加:。
  15. 对于大数值,java提供两个类,BigInteger大整型和BigDecimal大浮点型,大数值的运算不能使用+,-等运算符而是使用类提供的方法,因为java不允许重载运算符,与C++不同。详述与白皮书P77
  16. java中本质上没有多维数组而是1维数组的数组,数组的声明可以利用变量:int[] a = new int[x];
  17. 创建数字数组、boolean数组、对象数组时,所有元素会被初始化为0,false,null;
  18. 利用array.length可以得到数组长度。
  19. 对于数组的打印,可以利用到arrays.toString方法,此方法将数值转化为字符格式化输出。
  20. java中可以利用‘=’进行数组的浅拷贝,此方法的效果是两个数组共享内存,深拷贝方法是利用Arrays.copyOf(数组,长度),对于长度参数出可以再此改变目标数组的大小,相应的拷贝得到的数值将会对应的截断或者补0,对于数组的越界访问,java会报错。
  21. java中没有指针运算,不能通过a[] b=a+1的方式得到数组中的元素,而且java的数组与C/C++比较更相似与后者的int *name = new int [],而不是 int name[100],本质区别在于一个放在堆一个放在栈,此外在多维数组的比较中,前者可以生成不规则数组,相当于后者的int ** name = new int[10][];  ++++++     for() name[i]=new int[i]; 从而数组规格更加灵活,详述与白皮书P88
  22. java中的命令行数组并不存储程序名,与c/c++不同,.binarySearch方法可以在数组中寻找目标值。
  23. java中Arrays类型还提供了.sort方法用于排序,此方法是优化的快排,Math.random方法将产生0到1且不包含1的随机数,
时间: 2024-10-13 00:03:34

java第二天学习内容回顾——java白皮书第三章的相关文章

java第一天学习内容回顾——java白皮书第三章

java虚拟机可以使用即时编译和字节码(为达到独立于平台的特性)两种,对使用频繁的字节码序列将编译成机器码实现即时编译. java中基本类型的字节数是固定的(为方便移植),与C/C++不同(它们只确定了相对大小关系),java中byte(1) short(2) int(4) long(8) float(4) double(8). java分为标准版.微型版(嵌入式).企业版(后端) HTML是描述网页结构的方式,java是程序设计语言,其内容提供的applet可以嵌入网页中. XML是描述数据结

java第三天学习内容回顾——java白皮书第四章

java面向对象程序设计中使用到名词理解:对象标识==一个实例的变量名.对象行为==一个类的方法.对象状态==类中的数据域(严格讲是可以发生变化的数据域): 类之间的关系:use_a,has_a,is_a三种 java中的Math类有些特殊,它只封装了功能而并不涉及数据域,所以不需要也不必隐藏数据 java中的对象变量名更像是个指针(像),声明一个对象实例后必须用new构造对象然后用=将两者链接起来,也可以用=将两个不同的对象变量连接起来,但此时需要注意,就像指针赋值一样,两个变量自此将共享同一

java第五至七天学习内容回顾——java白皮书第五章

java学习过程出现第一次滞后,背景:清明节以及持续1周的雨. 方法签名=方法名+参数列表. 在覆盖方法时需要注意:1.覆盖后的方法返回类型的兼容性:2.新的方法的可见性必须不低于原方法的可见性. 这里有一个因果:每次调用方法都要进行搜索开销很大,所以 虚拟机 会预先为 每一个类 建立方法表,使用时直接查表,此外,除了private,static,final方法,所有的方法都是动态链接. 调用 某个方法 的实际解析过程 详述于白皮书P160: final 修饰的类将不允许出现继承,此类中所有的方

java第四天学习内容回顾——java白皮书第四章

java中有自动的垃圾回收器,不需要人工回收内存或者资源,所以java不支持析构函数. finalize方法可以添加进任何一个类,可以用来在回收短缺的资源,但作者并不提倡使用这个方法,因为程序员无法确定这个方法将在哪一时刻被调用,只知道它将在垃圾回收器前调用. System.runFinalizersOnExits 这个方法能够确保finalizer方法在java关闭前调用,但作者认为这样并不安全,有一个替代的方法:Runtime.addShutdownHook方法,具体在白皮书后面介绍. ja

java第12天学习内容回顾——java白皮书第7章

AWT:抽象窗口工具箱,AWT+IFC==SWING,Swing是基于AWT架构之上的提供组件,但处理事件依然用AWT Swing用于 被绘制的用户界面类,javaFX可能会替代它,AWT 用于底层机制. 用户可以指定"观感",此外Metal是专属于java的"观感" Swing库中,JFrame类用于描述顶层窗体,它是极少数不需要绘制在"画布"上的SWing组件之一,所以它的"修饰部件"是由用户的窗口系统绘制,而不是Swin

java第13天学习内容回顾——java白皮书第8章

java事件处理机制 事件的相关信息被封装在一个事件对象中(一个参数),事件源将这个时间对象分发到它的所有监视器中,并有监视器对事件作出反应. AWT时间处理机制 监听器对象构造出一个实例,这个实例实现了监听器接口 事件源是一个对象实例,这个实例可以注册(添加)监听器,并发送事件(事件发送到监听器) 事件发生时,事件源将发送到所有被添加进事件源的监视器 监视器利用被发送过来的事件信息决定如何相应 3.一个事件源可以对应多个监视器,监听器接口ActionListener接口,这个接口中只包含一个方

java第12天学习内容回顾——java白皮书第9章

Swing 用户界面组件 一种模式:模型----视图-----控制器 模式有很多种,例如:模型----视图----控制器(原则为限制一个对象拥有的功能数量):组合模型--容器和组件之间:装饰器模式----带滚动条的面板:策略模式-----布局管理器 内容---外观----行为----MVC 模型与视图之间关系 1:n 模型独立于观感,所以,有重用的可能 模型可能相同,但视同和控制器可能不同 metal观感中,JButton 继承了JComponent的包装器类,后者包含了DefaultButto

201671010117 2016-2017-2 《Java程序设计》Java第二周学习心得

Java第二周学习心得 这一周老师在周四进行了课堂测验,完全出乎我的意料,我以为老师会在前两周上课讲一下,由于我在课前没有好好准备,反转课堂来的有的措手不及,那些题很多很多都不会,也错了很多,班上有很多表现很好的同学,他们课前准备充分,在课堂上完全没有任何压力,我也意识到了我课前没有花大量时间看书的严重性,所以我下课便去看第三章了,以后也一定要好好看书,找出不懂得问题,课上也要认真向其他优秀同学学习,不懂的问题也要想办法解决. 今天写了PPT上的任务1-9,着实也遇到了很多不会的问题,像是最后的

20165204 Java第二周学习

20165204Java第二周学习总结 学习内容 本周的学习课程内容繁多,但是因为有C语言的基础,都能够比较顺利地理解.以下附上视频学习时总结的笔记. 遇到问题 在代码的抄写与调试阶段最经常碰到的还是一些C语言习惯带来的麻烦,不太擅长行尾风格导致经常少打前花括号,还有一些因对键盘部分符号不熟悉导致的符号错误,以及大小写错误(在这方面Java真的很严格).代码就是需要一步一步调试的.并没有遇到非常棘手的问题,代码编译错误截图也没有保存,都调试正确了. 代码托管 以下为脚本运行截图,已将代码上传至码