20145231第二周Java学习笔记

20145231 《Java程序设计》第2周学习总结

教材学习内容总结

本周的学习采用的依然是先看课本,再看视频,然后实践敲代码,最后根据学习笔记总结完成博客。
第三章:基础语法

知识点比较多比较零碎,整理的都是实际操作中可能会出错的或是之前不太理解的。

1、1字节(byte)=8位(bit),1024字节=1kb,64位的操作系统代表字节是固定由八位二进制构成,字长为64位,每个字由八个字节构成;(思考:64位操作系统与32位操作系统在于构成字的字节数量不同,具体表现就是存储空间不同)

2、负数的二进制表示:取反加一,最高位一定为一;

3、变量:将不确定的数据进行存储;(在内存中开辟空间:名称:变量名,空间类型:数据类型,数据)

4、输入整数默认为int型,输入小数默认为double型;

5、数据类型:基本数据类型和引用数据类型,其中前者又包括:数值型(byte、short、int、long、float、double)、字符型(char)、布尔型(boolean);

6、硬盘与CPU中缓存(缓冲存储空间)越大,运算量越大,效率较高;

7、同一区间内(大括号)不能重复用同一变量名定义,应当在数据不确定,又需要对数据进行存储时,定义变量;

8、运算过程中,不同类型之间不可进行运算,必要时可进行强制转换,运算中出现多种数据类型时,以大为主,小向大提升,强制转换时,可以去掉自动转换时的多余部分,也可能丢失精度;

9、字符串数据和任何数据使用+都是表示相连接,最终都会变成字符串;

10、转义字符:通过\来转变后面字母或符号的含义:\n换行,\b退格,\r按下回车键,\t制表符,相当于tab键;

11、逻辑运算符:用于连接布尔类型表达式;

12、&&与&的区别:&&效率相对更高,当其左边为假时即停止运算,同理||与|也一样,其左边为真即停止运算;

13、位运算:左移:移几位就乘以2的几次幂,右移:移几位就除以2的几次幂(带符号右移,最高位补原来数据最高位值,若是>>>符号,最高位直接补0);

14、&、|、^也可以进行位运算(先转换为二进制,按位运算后,再将二进制结果转换为十进制);

15、一个数异或同一个数两次结果还是原来的数;

16、利用右移可以进行进制转换;

17、三元运算符:优点:可以简化代码;弊端:必须要给出结果(eg:用if语句可不显示结果);

18、对比if语句和switch语句:值不多且满足byte、int、short、char类型时可用switch语句适当提高效率,其他情况一般用if语句;

19、编写代码注重格式和规范化,在编写代码先注明需求、思路、解决步骤等;

20、char类型中写中文是可以的,一个汉字为两个字节,在范围内。

教材学习中的问题和解决过程

问题一:
不理熟悉布尔类型表达式的输出结果;

解决过程:
通过看书上逻辑运算部分理解了布尔类型表达式输出只有两种结果即:true、false,在Java语言中System.out.println(3>4)和System.out.printf("%b%n",3>4)显示结果都是false即逻辑判断的结果。

问题二:看视频时思考的一个问题:用最有效率的方式计算2*8?

解决过程:要是直接计算的话需要转换成二进制计算,2*8相当于2乘以2的三次方,即:2<<3,这样就简化了运算。

问题三:如何在不用第三个变量的情况下对两个整数变量进行互换?

解决过程:定义两个变量m、n,n=n+m;m=n-m;n=n-m;(eg:11=8+3;m=11-3;n=11-8;)

问题四:System.out.println("5+5="+5+5);//显示"5+5=55",结果不是我们想要的怎么解决?

解决过程:System.out.println("5+5="+(5+5))//显示"5+5=10",通过提高运算优先级来实现。

代码调试中的问题和解决过程

首先,先是按照第一周的方法敲代码并运行,然后下载安装了IDEA,学习了简单的使用方法,使得敲代码及编译过程变得容易。如图:
888584-20160313194009710-1581544416.png
888584-20160313194336132-1179456944.png

然后对书上代码进行了编译,首次编译出现了问题,原因是没有定义SDK,后经设定SDK,可以成功编译,且在代码中含有println时,后面内容不能出现%n,否则就重复换行。大致操作及运行结果如图:
888584-20160313194423257-1659825826.png
888584-20160313194438897-589452668.png

重新理解了递加递减运算中++i和i++的区别,如图:
888584-20160313194548475-713749415.png
888584-20160313194602319-1251184673.png
888584-20160313194838085-418599657.png
888584-20160313194852710-407842676.png

通过打印九九乘法表了解了不同循环描述语句的写法,同时第二种写法可读性不是很强,但相对简练,利用了上一条知识点:++j与j++区别,结果如图:
888584-20160313194633304-975102787.png
888584-20160313194652288-1656776137.png

888584-20160313194705850-424063108.png

其他(感悟、思考等,可选)

且学且珍惜。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2002/220/20
第二周300/5002/421/41
第三周500/10000/000/00
第四周300/13000/000/00

参考资料

  • Java学习笔记(第8版)
  • 《Java学习笔记(第8版)》学习指导

  • [毕向东Java基础教程视频]

转载于:https://www.cnblogs.com/xzh20145231/p/5272904.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaFX 2.0和Scala,像牛奶和饼干

JavaFX 2.0和Scala都是很好的技术&#xff0c;但是一起使用时效果会更好。 JavaFX 2.0是一种功能强大的富客户端技术&#xff0c;具有先进的图形&#xff0c;动画和媒体功能。 Scala是一种简单但功能强大的语言&#xff0c;具有用于编写特定于域的语言&#xff08;DSL&#xff…

ASP.NET WebAPi之断点续传下载(上)

前言 之前一直感觉断点续传比较神秘&#xff0c;于是想去一探究竟&#xff0c;不知从何入手&#xff0c;以为就写写逻辑就行&#xff0c;结果搜索一番&#xff0c;还得了解相关http协议知识&#xff0c;又花了许久功夫去看http协议中有关断点续传知识&#xff0c;有时候发觉东西…

贪吃蛇(C++实现,VC6.0编译,使用了EasyX图形库)

程序效果&#xff1a; 代码&#xff1a; //main.cpp 1 #include <iostream>2 #include<fstream>3 #include <graphics.h>4 #include <conio.h>5 #include<ctime>6 #include<windows.h>7 #include<mmsystem.h>8 #pragma comment(lib…

python中sorted的用法append_python sorted()排序详解

排序&#xff0c;在编程中经常遇到的算法&#xff0c;我也在几篇文章中介绍了一些关于排序的算法。有的高级语言内置了一些排序函数。本文讲述Python在这方面的工作。供使用内置函数sorted()/list.sort()的使用简单应用python对list有一个内置函数&#xff1a;>>> a[5…

云上的播放框架变得简单:Openshift模块

仅仅几年前&#xff0c;找到一个负担得起的Java Web应用程序托管解决方案是一项艰巨的任务&#xff0c;而寻找免费的托管解决方案是一项不可能的任务。 更不用说甚至考虑自动缩放&#xff0c;单命令部署&#xff0c;持续集成等事情&#xff0c;这都是科幻小说。 去年见证了云计…

C#中的yield return与Unity中的Coroutine(协程)(下)

Unity中的Coroutine&#xff08;协程&#xff09; 估计熟悉Unity的人看过或者用过StartCoroutine() 假设我们在场景中有一个UGUI组件&#xff0c; Image&#xff1a; 将以下代码绑定到Image 1 using UnityEngine;2 using System.Collections;3 using System.Threading;4 using …

【CSS3动画】transform对文字及图片的旋转、缩放、倾斜和移动

前言&#xff1a;之前我有写过CSS3的transform这一这特性&#xff0c;对于它的用法&#xff0c;还不是很透彻&#xff0c;今天补充补充&#xff0c;呵呵 你懂的&#xff0c;小司机准备开车了。 a)再提一提transform的四个属性 ①旋转--->rotate(参数a)&#xff0c;单位deg&a…

数据库行转列在现实需求中的用法

select t.客户姓名,sum(case when t.收款类型首款 then t.金额 else 0 end as 首款),sum(case when t.收款类型尾款 then t.金额 else 0 end as 尾款) from table t group by t.客户姓名 这段sql的意思 是 查询出所有客户收款信息 然后按客户分组 分组后 然后将这个客户的所…

apk反编译方式

一、Apk反编译得到Java源代码 下载上述反编译工具包&#xff0c;打开apk2java目录下的dex2jar-0.0.9.9文件夹&#xff0c;内含apk反编译成java源码工具&#xff0c;以及源码查看工具。 apk反编译工具dex2jar&#xff0c;是将apk中的classes.dex转化成jar文件 源码查看工具jdgui…

ADF声明性组件示例

在我以前的文章中&#xff0c;我答应展示如何为智能值列表创建ADF声明性组件。 因此&#xff0c;我将创建一个包含三个元素的组件&#xff1a;标签&#xff0c;输入文本和值的组合框列表。 那很容易。 我在工作空间中创建了一个单独的ADF ViewController项目&#xff1a; 在此项…

Solr集群更新配置的方式

solr集群中配置文件是经常更新的&#xff0c;频率最高的也就是schema.xml和solrconfig.xml这两个配置文件了&#xff0c;对于更新配置文件之前&#xff0c;我们先了解一下集群项目结构 由于在集群模式下&#xff0c;solrconfig.xml和schema.xml等配置文件都由Zookeeper集群管理…

java文本框双击可编辑_java swing 文本域双击变为可编辑

java swing如何实现文本域双击变为可编辑呢?给文本域添加鼠标事件监听程序即可:resultTA1new AssistPopupTextArea();resultTA1.setEditable(false);resultTA1.setLineWrap(true);resultTA1.setWrapStyleWord(true);resultTA1.addMouseListener(new MouseAdapter() {Overridep…

OSGi简介–模块化Java

OSGi联盟是这一搁浅的管理机构&#xff0c;它始于1999年。其最初目标是为网络设备创建开放搁浅。 基于此思想&#xff0c;此规范也针对Java引入。 Eclipse在Java中是第一个。 他们于2004年6月推出了基于OSGi的Eclipse IDE。 OSGi是在Java中定义动态模块的方法。 主要为Java实现…

HDU FatMouse's Speed 基本DP

题意&#xff1a;要求找到的体重递增&#xff0c;速度递减的老鼠&#xff0c;并且输出最长的长度数&#xff0c;而且输出各自的序列数。Special Judge 思路&#xff1a;先按体重由小到大排序&#xff0c;再找最长速度递减序列。 转移方程&#xff1a;mou[i].w>mou[j].w&am…

java xmpp openfire_搭建Xmpp服务器Openfire

step1、 安装java环境这里是检测是否安装java的网页如没有安装则进行以下步骤1、下载jdk7的mac版&#xff1a;jdk-7u79-macosx-x64.dmg2、安装好之后&#xff0c;在命令行进入以下路径查看#cd /Library/Java/JavaVirtualMachines/3、再查看你自己安装的版本#ls版本为jdk-8u171-…

Spark程序运行报错解决(1)

报错内容&#xff1a;System memory 259522560 must be at least 4.718592E8. Please use a larger heap size. 解决&#xff1a;Window——Preference——Java——Installed JREs——选中一个Jre 后 Edit 在Default VM arguments 里加入&#xff1a;-Xmx512M 转载于:https://w…

java setsolinger_java socket 的参数选项解读(转)

在MulticastSocket的源代码里有设置多播的方法&#xff1a;public void setInterface(InetAddress inf) throwsSocketException {if(isClosed()) {throw new SocketException("Socket is closed");}checkAddress(inf, "setInterface");synchronized(infLoc…

【转】Linux终端下 dstat 监控工具

转自https://linux.cn/article-3215-1.html dstat 是一个可以取代vmstat&#xff0c;iostat&#xff0c;netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能&#xff0c;增加了监控项&#xff0c;也变得更灵活了。dstat可以很方便监控系统…

java jdbc连接db2数据库_Java连接db2数据库(常用数据库连接五)

1.安装好db2数据库&#xff0c;并建立表如下&#xff1a;2.eclipse或myeclipse中建立工程并导入java连接db2所需要的jar包db2java.jar 下载地址&#xff1a;http://download.csdn.net/detail/whzhaochao/64149813.建立iConn接口&#xff0c;代码如下&#xff1a;package com.zh…

Oracle通过邀请Weaver和Chin推动JavaFX向前发展

我昨天发布了愚人节帖子&#xff0c;内容涉及加入NASA协助探索红色大行星。 那个帖子与事实相距不远... NASA开发的技术的所有细节都是100&#xff05;准确的。 哎呀&#xff0c;即使我辞职也是事实&#xff01; 唯一不正确的部分是我将加入的公司。 在NASA协助探索火星的工作也…