20165312 2017-2018-2 《JAVA程序设计》第2周学习总结

时间:2021-07-11 22:14:51

20165312 2017-2018-2 《JAVA程序设计》第2周学习总结

一、对上一周学习的查漏补缺

1.上周在虚拟机中进行编译程序时出现错误,在上一周的博客中我有提到,当时还未找到解决办法。后来才知道是因为虚拟机中没有安装JDK。

出错图片:

20165312 2017-2018-2 《JAVA程序设计》第2周学习总结

解决办法:

(1)在虚拟机中下载JDK-1.8压缩包并进行解压

(2)使用$ su root进入root权限。可能会提示你密码错误,使用$ sudo passwd重新设置密码即可。

参考网址:su 认证失败

(3)编辑 /etc/profile文件设置环境变量,在文件末尾添加以下代码:

export JAVA_HOME=/JDK下载的位置
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

(4) 使用source/etc/profile使刚才的配置信息生效。

(5) 使用java -version 检验是否安装成功。如果发现没有成功可以检查环境变量是否输入错误,也可以重启虚拟机进行尝试。

参考网址:Ubuntu16.04下Java环境安装与配置

2、上周测试错误题目

(1)下列不属于Java集成开发环境的是()

A.PyCharm B.NetBean C.MyEclipse D.Intelli IDEA

错误答案:B
正确答案:A(解析:Python为Python IDE)

(2)下列说法正确的是()

A.Java虚拟机首先执行类中的main方法

B.Java中,多个/**/可以嵌套

C.一个源文件中必须有public类

D.Java字节码的扩展名是.java

错误答案:B
正确答案:A(解析:注释不可以嵌套)

(3)public static void main(String args[])中"main"和"args"都不可以随便修改

错误答案:true
正确答案:false(解析:args为数组名,可以随意修改)

二、第二周学习的主要内容及遇到的问题

问题及解决方法

1.将代码上传码云时出现问题
上周传的代码是使用windows下的git,这周改用虚拟机中的git,出现如下错误:
20165312 2017-2018-2 《JAVA程序设计》第2周学习总结

解决方法:

$ git pull --rebase origin master
$ git push origin master

2.运行统计代码行数的脚本时出现问题

20165312 2017-2018-2 《JAVA程序设计》第2周学习总结

解决方法:

$ chmod +x statistics.sh

参考网址:要怎样才能直接./sh执行?

3.在ubuntu中不能使用复制粘贴

解决办法:修改设置即可,设置-->常规-->高级-->共享粘贴板-->双向

第二周学习内容总结

1.第二章 基本数据类型与数组
标识符

标识符的第一个字符不能使数字,标识符不能是关键字,true,false,null。标识符的字母是区分大小写的。

关键字

具有特定用途或赋予特殊含义的一些单词

基本数据类型
  • boolean(逻辑类型)

boolean常量是true false

  • int

分配四个字节内存 int x=12;

  • byte

分配1个字节内存 byte y=28;

  • short

分配两个字节 short z=33;

  • long

long型变量用后缀L来表示,分配8个字节

  • char

分配2个字节,char变量的取值范围是0~65535
char x='a';

\n换行 \b退格\t水平制表 \'单引号\"双引号\\反斜线

可以用字符在Unicode表中排序位置的十六进制转义,其一般格式为'\u****'

  • float

常量后面有后缀F或f,float型数据在储存时保留8位有效数字

  • double

double常量后缀d或D,但允许省略该后缀。double常量在储存时保留16位有效数字。

类型转换运算

除了逻辑变量,精度从低到高排列:

byte short char int long float double

(1)级别低的变量的值赋给级别高的变量时。系统自动完成数据类型的转换。

(2)级别高的变量的值赋给级别低的变量时

(类型名)要转换的值

输入数据类型
$ Scanner reader = new Scanner(System.in);
$ double x = reader.nextDouble();
输出数据类型
  • System.out.println()
  • System.out.print()
  • System.our.ptintf()

    数组

(1)声明数组(数组名,数组的类型)

数组的元素类型 数组名[];

数组的元素类型 []数组名;

数组的元素类型 数组名[][];

数组的元素类型 [][]数组名;

(2) 为数组分配元素

数组名 = new 数组元素的类型[数组元素的个数];

声明数组和创建数组可以同时完成:

数组元素的类型 数组名[] = new 数组元素的类型[数组元素的个数];

二维数组是由若干个一维数组构成的,各个一维数组的长度不一定相同。

(3)length的使用

对于一位数组:“数组名.length”的值为数组中元素的个数;对于二维数组:“数组名.length”的值为含有一维数组的个数

(4)数组的引用

int型数组a[],System.out.println(a)

char型数组b[],System.out.println(""+a)

算术运算符

+ - * / %
++ --

关系运算符

> < >= <= !=
==

逻辑运算符

&& || !

赋值运算符

=

位运算符

& | ~ ^

if条件分支语句
  • if语句

  • if-else 语句

  • if-else if-else 语句

switch 开关语句
循环语句
  • for循环语句

    for(表达式1;表达式2;表达式3) {
    若干语句
    }
  • while 语句

    while(表达式) {
    若干语句
    }
  • do-while语句

    do {
    若干语句
    }while(表达式);
    break语句

在循环体中若执行了break语句,则整个循环结束

continue语句

在循环体中若执行了continue语句,则本次循环结束,进入下一个循环。

for语句与数组
for(声明循环变量:数组的名字) {

}

对于循环变量依次取数组的每一个元素的值

代码托管

代码量截图

20165312 2017-2018-2 《JAVA程序设计》第2周学习总结