zoukankan      html  css  js  c++  java
  • 《Java程序设计》第二周学习记录(1)


    第2章 基本数据类型与数组


    2.1 标识符与关键字

    1、标识符

    • 标识符由字母、下划线、美元符号、数字组成
    • 标识符第一个字符不能是数字字符
    • 标识符不能是关键字或者true、false、null等有其他意义的字符

    2、Unicode字符集

    Java语言使用Unicode字符集,也就是说Java中可以直接把汉语作为变量名,但是不建议这么做

    2.2 基本数据类型

    可以大致分为四种:

    • 逻辑类型:boolean 常量:true,false

    • 整数类型:int 占4个字节内存, byte 占1个字节内存, short 占2个字符内存, long 占8个字节内存,常量用后缀‘L’表示

      注:Java没有无符号的byte,short,int和long

    • 字符类型:分配2个字节内存,特别:可以用Unicode表中排序位置的十六进制转义,如'u0041'表示A。

    • 浮点类型:float型保留8位有效数字,分配4个字节内存,常量用后缀'f'或者'F'修饰

      ​ double型保留16位有效数字,分配8个字节内存,常量用后缀'd'或'D'修饰,也可无

    2.3 类型转换运算

    精度从低到高排列:
    byte short char int long float double
    从级别低的赋值到级别高的变量时,会自动转换。
    反之会报错,这点不同于C语言。可以使用强转。

    2.4 输入、输出数据

    输入要用到Scanner类,以下是Scanner类的基本信息

    输入图片说明

    Scanner对象的构造

    输入图片说明

    Scanner类包含的常用方法
    输入图片说明

    还有hasNext()等方法可以判断是否还有对应类型的输入
    所以输入的基本步骤是:

    1、import java.util.Scanner;引入Scanner类

    2、Scanner reader = new Scanner(System.in);创建Scanner对象

    3、double x = reader.nextDouble();使用对应的数据类型来接收(在此之前可以用hasNextDouble()判断下一个值是否是double)

    Scanner()中的System.in是System类的字段,具体如下

    输入图片说明

    要输出的话就用System.out.println或者System.out.print,前者相当于调用print()后再通过写入行分隔符字符串终止当前行。行分隔符字符串由系统属性 line.separator 定义,不一定是单个换行符 (' ')。但是有点搞不清楚这个System、out、println到底是什么关系,刚开始学java,对一些概念还不清楚,先大概看看吧。

    输入图片说明

    另外好奇为什么Scanner要引入但是System不需要,原来是System在lang包下,而lang包是默认导入的。
    另外还有printf(),使用方法和C语言中的printf格式控制差不多

    2.5 数组

    • 声明数组
      数组的元素类型 [] 数组名
      C/C++的声明也可以,但是不建议
      注: 不可以在[]中指定数组元素个数

    • 创建数组
      数组名 = new 元素类型[数组大小]
      可以和声明一起完成
      元素类型 [] 数组名 = new 元素类型[数组大小]

    • 数组的初始化
      创建数组后,系统会给数组的每个元素一个默认的值
      一维数组如元素类型 [] 数组名 = {data, data...}
      二维数组如元素类型 [][] 数组名 = {{data, data...},{data, data...},...}

    • 数组的引用
      数组属于引用性变量,这是我第一次接触到这个名词,第一感觉有点像C语言的指针,于是去搜了一下这两者的相同点和区别,比如说JAVA 引用和C语言指针的区别,又想起《流畅的Python》中提到,不再把变量看成盒子,而看成标签。这个问题还是以后再慢慢研究。

    参考资料

  • 相关阅读:
    December 23rd 2016 Week 52nd Friday
    December 22nd 2016 Week 52nd Thursday
    December 21st 2016 Week 52nd Wednesday
    December 20th 2016 Week 52nd Tuesday
    December 19th 2016 Week 52nd Sunday
    December 18th 2016 Week 52nd Sunday
    uva294(唯一分解定理)
    uva11624Fire!(bfs)
    fzu2150Fire Game(双起点bfs)
    poj3276Face The Right Way
  • 原文地址:https://www.cnblogs.com/20175211lyz/p/10480441.html
Copyright © 2011-2022 走看看