20165324《Java程序设计》第二周

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

教材学习内容总结

本周学习内容如下:

  1. 基本数据类型
  • 整数类型:byte,shout,int,long。
  • 字符类型:char。
  • 浮点类型:float,double。
  • 布尔类型:boolean。
  1. 输入与输出
  • Scanner的使用必须先进行导入Scanner类: import java.util.Scanner;接下来需要创建一个Scanner对象: Scanner sc = new Scanner(System.in);最后从键盘上读取数据保存到变量中:int i=sc.nextInt(); double dd=sc.nextDouble(); String s=sc.next();注意不能直接从键盘得到一个字符。百度得:
//打印一个从键盘输入的字符
import java.util.Scanner;
public class Zifu{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一串字符,其中首字符为需要打印的字符");
        String s=sc.next();
        char cc=sc.charAt(0);
        if(('a'<=cc&&cc<='z')||('A'<=cc&&cc<='Z')){
		 System.out.println(cc+"输入为字符");
            }
        else{
			 System.out.println(cc+"输入不为字符");
		     }
    }  
}
  1. 数组
  • 数组知识基本与C语言相同,但Java不允许在声明数组中的方括号内指定数组元素的个数。double []b=new double[n];//java中数组只能这样写
  • a.length为数组a的长度
  • 如果遍历某个集合中所有的数据,还可以使用foreach循环
    注意:foreach循环只是用来读取数组中的每一个元素,不能用于修改数组的元素值。
    for(int x:a)
    System.out.println(x); //依次把数组a的每一个元素赋值给x变量,在循环体中可以对x变量进行处理

如:

for(int i=0;i<a.length;i++){
           a[i]=i*i; 
           }//通过循环修改数组的元素值
  1. 运算符:基本参照C语言所讲,注意运算的优先级
  2. 语句学习:
  • if条件分支语句
  • switch开关语句
  • 循环语句
  • break和continue语句
  • for语句与数组

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

  • 问题1:基本类型转换方式的使用及关于精度缺失的问题?
  • 问题1解决方案:
  1. 首先布尔类型不能和其他类型转换。整数、小数、字符类型可以相互转换。
  2. 自动类型转换: byte→short→int→long→float→double char→int→long→float→double 但可能丢失精度
  3. 强制类型转换:不能进行自动类型转换时就可以进行强制类型转换。
    (1)小数与整数之间的转换:
   double dd=3.121;  
   int ii;
   ii=(int)dd;
   System.out.println(ii);
//此时double类型转换为int类型,输出结果为3。

(2)大的整数类型转换为小的整数类型时,只把对应的低位字节转换,可能会出现数据错误。

    int ii=270;
    byte bb; 
    bb=(byte)ii; 
    System.out.println(bb);
    /*此时输出bb=14,因为ii变量在计算机中存储形式为: 0000 0000 0000 0000 0000 0001 0000 1110 把ii强制转换为byte类型,只把最后一个字节的数存储到bb变量中,bb变量中存储的内容为:0000 1110 即为14.*/

(3)整数可以转字符

    int ii=110;
    char cc=(char)ii;
    System.out.println(cc);
    //此时输出为n,因为n的ASCII码值为110。

(4)可以对表达式进行强制转换:

    byte bb=123;
    bb=(byte)(bb+1);
    System.out.println(b );
     //输出为124。 

代码托管

上周考试错题总结

  • 错题1及原因,理解情况:如何在根目录下进行javac和java的相关操作,如:如何编译。java文件于bin目录下javc -d ./bin scr/Hello.java如何运行位于bin目录下is5324包中的.class文件java -cp .:bin is5324.Hello
  • 错题2及原因,理解情况:如果只是要运行java程序,下载程序哪个安装即可?应该选择JRE。分析得:java程序的运行只需要JRE即可,而java程序的开发需要JDK。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 203/203 4/4 15/15
第二周 326/529 2/6 12/27

参考资料

posted @ 2018-03-11 19:31  麒麟之翼♥  阅读(133)  评论(0编辑  收藏  举报