杨晨露 Java 第一周总结
1.学习内容总结
(1)Integer类在对象中包装了一个基本类型int的值。Integer类型的对象包含一个int类型的字段。该类提供了多个方法,能在int类型和String类型之间互相转换,还提供了处理int类型时非常有用的其他一些常量和方法。
(2)try,代码异常处理,避免因为代码错误导致程序崩溃。代码区如果有错误,就会返回所写异常的处理。
(3)hasNextInt(),是判断控制台接收是否为数字,当你在控制台输入一个字符的时候,hasNextInt()判断你输入这个字符是不是数字。
##### *注意:只能用作判断,而不是赋值*
#####(4)int a=in.nextInt,从输入流读取一个整形数字赋给a
```
(5)Integer.toBinaryString(i) 十进制转二进制
(6)Integer.toOctalString(i) 十进制转八进制
(7)Integer.toHexString(i) 十进制转十六进制
```
#####(8)关于二进制补码
```
Integer.numberOfLeadingZeros(i); 从最左边算起连续的“0”的总数量
Integer.numberOfTrailingZeros(i); 从最右边算起连续的“0”的总数量
```
#####(9)Java中使用正则表达式
```
String regEx = "baike.*"; 定以规则
Pattern pattern = Pattern.compile(regEx);
```
#2.书面作业
###1.为什么java程序可以跨平台运行?执行java程序的步骤是什么?
因为java运行是基于jav虚拟机的,不论哪个平台,只要有虚拟机,java就能执行。而不同平台的差异,都是由虚拟机进行沟通。
###2.什么是jdk?jdk,jre,jvm的区别是什么?
(1)jdk全称Java Development Kit,是提供给开发人员的一组工具。编写一个java程序,首先需要编写源代码,然后使用javac对.java文件进行编译,得到字节码.class文件。
(2)jre全称Java Runtime Enviroment,包含了虚拟机及相关的运行环境。一般用户在使用Java编写的小程序或小脚本的时候,只需要安装这个就可以运行java程序。
(3)jvm是帮助java运行的虚拟机,凭借这个可以实现java跨平台运行。class字节码文件不直接与操作系统相对应,而是经过虚拟机间接与操作系统交互,由JVM解释程序然后交给本地操作系统执行。
###3.java HelloWorld命令中,HelloWorld这个参数指的是什么?
java类名
###4.设置path变量有什么用?
配置java开发的环境变量,方便直接在电脑系统里编译盒运行java程序或代码
###5.使用java编写程序并运行与使用c语言编写程序并运行的步骤和生成的中间文件、目标文件有什么不同?
####Java:
(1)首先编写源程序,后缀.java
(2)编译源程序,后缀.class
(3)产生jar文件
(4)经过虚拟机解释class程序,然后交给本地操作系统执行
####C语言:
(1)编写源程序,后缀.c
(2)编译源程序,在windows系统中后缀为.exe
(3)系统直接执行
###6.Java语言有哪几种开发平台?
(1)Eclipse
(2)NetBeans
(3)IDEA
(4)编辑器:记事本,Scite,Nodepad++
###7.Java输入格式
Scanner reader=new Scanner(System.in)
"开头要进行声明 import java.util. Scanner"
###8.Java主要应用在那几个方面?你对自己在这门课的目标与期许是什么?
java现在应用的方面很广泛,主要是作为安卓,网站等开发这一块。因为以后不打算走开发这条路,所以也并不强求学的很精很细,只要能够在一些应用方面,用java写一些脚本,小工具帮助其他方面的工作就好了。
#3.码云
![](http://images2015.cnblogs.com/blog/1109779/201702/1109779-20170226191459085-233221636.jpg)
#4.实验总结
###主要是被第三题困扰了好久,那个代码大概写了一两天吧,虽然中间断断续续的,但真的写了好久,最后还是无用功。本来的思路是这样的:
- 把浮点数分成整数和小数两个部分来分别输出,先把字符串强转int,自动删除小数点后面的其他数字。但是在实施过程中,不明白为什么```int a=(ing)s ```总是报错,后来没办法只好换一种方法。
- 后来用```s.lastIndexOf(".")``来找小数点的位置,然后取前部分的字符串才得到整数部分。输出也正常,没有问题
- 接下来就是字符串截取子字符串,由于要进行加法计算,所以又要换成整形的,结果导致一直在不断转换形式。我不太清楚java里面转换形式能不能在原来的未知数上直接转换(后来在其他代码里可以强转,可能是当时那段代码有其他问题才导致一直报错),只能不断的设新的未知数,导致未知数太多,后期直接懵了。
- 整数部分弄完,接下来是小数。原设想是用原来的数减去整数部分,得到小数,再接一个小数点的判断,输出小数点后面的数字,但是障障循环和判断上出了很大的问题。只能再改。
- 又百度,找到另一种用BigDecimal做减法。这回不会出现什么多余的0了,可是BigDecimal的运行比较慢,可能挺占内存。而且用这种方法计算出来的数是形式还要进行转换成int,string之类的,才能接着用。所以又跟前面一样,进行了大量的转换操作。
- 前面既然小数点的判断和循环没法实现,我就想把小数换成整数再重复整数部分的操作不就好了。
```
int y=result1.length()-2;
int x=(int)Math.pow(10, y);
BigDecimal loanAmount = new BigDecimal(x);
BigDecimal result2=loanAmount.multiply(result);
```
- 但是,在重复整数部分的操作时,发现很多字符串部分总是出错,原因是未知数太多了,写的时候已经混乱了。即使全部注释了一遍,感觉已经通顺了,但运行还是过不去(报错的那一行找不到问题)。本来想把整数那个部分,直接写一个函数,通过调用函数会方便很多,可是不会用java写函数......按照书上给的也一直报错,而且作业也快到截止时间了,现在去看怕来不及,只好作罢。
- 最后没办法了,求助同学。同学给了一个```*.charAt(i)```的函数......直接截取字符串里某个位置的单个字符......
- 由于不想让前面的努力作废,整数部分没有修改,只有小数部分使用,全部运行正常。但是还是忽略了一个问题,负数。
- 因为一开始是通过```s2=Math.abs(s2);```来转绝对值,但是后面的一些地方涉及加减的问题,再加上前面的未知数太多的问题,最终崩溃。
- 代码很繁琐,也很生硬,就像是强行拼接一样。所以有一点小问题就会全面崩溃。无论在哪里做了修改,随之而来的都是更多的bug和运行不通。想了很多方法来填补漏洞,连正则表达式都考虑了,但是没想到是从最初的想法上就走了一条弯路。
###总的来说,很绝望......
###原来想法的代码
```
import java.util.Scanner;
import java.math.*;
import java.math.BigDecimal;;
public class Main
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
try
{
while(true)
{
//整数部分
String s=in.next();
int idx=s.lastIndexOf(".");
String strNum=s.substring(0,idx);
int num=Integer.valueOf(strNum);//num是整形的整数部分
int sum=0;
String s1=String.valueOf(num);//s1是字符串形式的整数部分
for(int i=0;i<s1.length();i++)
{
String b=s1.substring(i,i+1);//b是每个截取的字符
int b1=Integer.parseInt(b);//b1是每个截取的整形字符
System.out.print(b1+" ");
sum=sum+b1;//暂时还没用
}
//小数部分
BigDecimal operand1=new BigDecimal(s);
BigDecimal operand2=new BigDecimal(num);
BigDecimal result=operand1.subtract(operand2);
String result1=result.toString();//result1 现在是一个0.xxx的小数,BigDecimal格式
//System.out.println(result1);
int y=result1.length()-2;
int x=(int)Math.pow(10, y);
BigDecimal loanAmount = new BigDecimal(x);
BigDecimal result2=loanAmount.multiply(result);//小数经过计算,得到 Bigdecimal形式的整数
// System.out.println(result2);//result2 是 Bigdecimal形式
String result3=result2.toString();//result2转换 ,result3是 字符串形式
//这里之后的是跟前面整数部分一样的步骤
int idx1=result3.lastIndexOf(".");
String lasstNum=s.substring(0,idx1);
int num2=Integer.valueOf(lasstNum);//num2是整形的整数部分
//String result4=String.valueOf(num2);//s1是字符串形式的整数部分
for(int i=0;i<result3.length();i++)
{
String b=result3.substring(i,i+1);//b是每个截取的字符串
int b1=Integer.parseInt(b);//b1是每个截取的整形
System.out.print(b1+" ");
sum=sum+b1;
}
}
}
catch (NullPointerException ex)
{
;
}
}
}
###最后的最后,用字符数组通过了这题。
###很绝望,就这样。
杨晨露 Java 第一周总结的更多相关文章
- 201521123014 java第一周总结
201521123014 java第一周总结 1.本周学习总结 刚认识这一门新语言,我就充满了好奇心,想看看Java和学过C语言,C++有什么区别.在这一周的学习中,我认识到,对于初学者而言,Java ...
- JAVA第一周学习
新学期伊始,六门专业课,课课重要,无法抉择重心,但日子还是要过的,而且要精细的过,不能得过且过 JAVA第一周任务 一:学习第一章视频 二:使用JDB调试JAVA 三:输入调试教材上代码,并把代码上传 ...
- Java第一周作业
Java第一周作业 本周作业: 参考<<教材学习指导(http://www.cnblogs.com/rocedu/p/7911138.html)) 学习第一章视频 参考<<使用 ...
- 20165235 Java第一周学习总结
(# 20165235 Java第一周学习总结 Ubuntu下git的安装与使用 首先Ubuntu下git的安装,使用sudo apt-get install git下载Ubuntu,下载完成后可以用 ...
- 201521123063 java第一周总结
20152112306 <Java程序设计>第一周学习总结 1.本周学习总结(2.20-2.26) java语言的特点: (1)简约且简单 (2)平台无关性 (3)面向对象 (4)多线程. ...
- 201521123042 Java第一周学习总结
1. 201521123042 <Java程序设计>第一周学习总结 a.用notepad++和eclipse编写Java程序 b.安装Java Q1.为什么java程序可以跨平台运行?执行 ...
- 201521123093 java 第一周总结
201521123093 <Java程序设计> 第一周学习总结 1.本周学习总结 (1)第一次开始接触java语言,java的用法和C不太一样.在编程序时语句比以前的长. (2)学会了使用 ...
- 20165221 JAVA第一周学习心得及体会
JAVA入门的理论学习 在JAVA2使用教程的网课学中,分为以下几个模块讲解的 JAVA的地位 JAVA的特点 安装JDK(Java Develepement Kit) Java程序的开发步骤 简单的 ...
- 自学Java第一周的总结
在第一周里我花费了不少时间配置jdk的环境变量,并学习了有关java的基本知识,了解了Java中的变量.数据类型以及运算符.我知道了什么是变量并且如何去定义变量,也学会了如何去使用运算符以及对数据类型 ...
随机推荐
- 前端到后台ThinkPHP开发整站(完)
久违了,今天终于抽空把最后的写完了,这是这个项目的最后一篇文章了,把前台的栏目控制器和文章内容控制器的功能实现了. 栏目控制器: <?php namespace Home\Controller; ...
- java 将一个ip地址分割成一个数组
这个问题以前真还没注意,好像记得分割过规律的字符串,但是不是像IP这样是以"."为分割规律字符,而是的. 今天用到又用到个,代码写好了也没测试,直接上传服务器,但是就是会报错,之后 ...
- Python 接口:从协议到抽象基类
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Helvetica } 抽象基类的常见用途:实现接口时作为超类使用.然后,说明抽象基类如何检查 ...
- Promise与异步
不知道promise,大家现在用了吗?如果还不了解的话,今天就来对了-基础的了解起来- 正文从这开始- 接触过promise的的都知道它的应用场景和用途,Promise可以用来避免异步操作函数里的嵌套 ...
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(二)用户接口层之RtspClient类及其构造函数
RtspClient类是myRTSPClient函数库所有特性集中实现的地方. 主要为用户提供: 1. RTSP协议通信接口函数,如DoOPTIONS(): 2. RTSP账号.密码设置函数,如Set ...
- NetBeans主题配色方案加设置.md
1.网上下载主题的地址是:http://netbeansthemes.com/ **上面的主题我看了下但是感觉不太适合自己所以自己就仿照的设置了下下面我附上自己的配置信息 感兴趣的可以下载下来自己看下 ...
- 【Zookeeper】角色、顺序号、读写机制
角色 leader 负责进行投票的发起和决议,更新系统状态 learner 包括follower和observer follower用于接受客户端请求并向客户端返回结果,在选举过程中参与投票 obse ...
- .NET入行之工作后
成长这条路上,有一些事已经渐渐的消失模糊的脑海里,而有一些事,则历历在目,终生铭记. 一切都是从大二下学期快结束的那段培训课程开始的,从此也算是入门了,这也是一条不归路. 在.NET入行之工作前一文中 ...
- 微信js-sdk分享详解及demo实例
步骤一:绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安全域名". 步骤二:引入JS文件 在需要调用JS接口的 ...
- C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码
前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 嗯,前面讲 ...