第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 定义,不一定是单个换行符 ('\n')。但是有点搞不清楚这个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》中提到,不再把变量看成盒子,而看成标签。这个问题还是以后再慢慢研究。

参考资料

《Java程序设计》第二周学习记录(1)的更多相关文章

  1. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  2. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  3. 2017面向对象程序设计(Java)第二周学习总结

    2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结

    丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

  5. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  8. 《Java程序设计》第二周学习记录(2)

    目录 3.1 运算符与表达式 3.3 if条件分支语句 3.7 for语句与数组 参考资料 3.1 运算符与表达式 和C语言基本上没有区别,要注意的是关系运算符的输出结果是bool型变量 特别要注意算 ...

  9. 201871010121 王方 《面向对象程序设计(java)》 第二周学习总结

    这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475 ...

随机推荐

  1. [转]让iframe自适应高度-真正解决

    原文地址:https://www.cnblogs.com/rogge7/p/7762052.html 需求:实现 iframe 的自适应高度,能够随着页面的长度自动的适应以免除页面和 iframe 同 ...

  2. 【iCore4 双核心板_ARM】例程三十二:UART_IAP_ARM实验——更新升级STM32

    实验现象及操作说明: 1.本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中. 2.直接上电或烧写程序将执行升级的APP应用程序. BIN升级文件产生方法: 1.编 ...

  3. spring boot重启脚本

    jar包同目录添加 start.sh 添加启动权限chmod 755 start.sh ./start.sh ps -ef|grep test |grep -v grep|awk '{print $2 ...

  4. Hadoop:hdfs文件permission denied问题解析

    Cron jobs can be scheduled, but fail to write parquet file and seems due to user permission of “yarn ...

  5. Tomcat 配置详解/优化方案(转)

    转载地址:https://blog.csdn.net/cicada688/article/details/14451541/ Service.xml Server.xml配置文件用于对整个容器进行相关 ...

  6. 匿名函数gc分析

    测试一:使用member function创建action会产生gc,不管该函数是否访问外部变量: private System.Action memberAct = null; // gc 112B ...

  7. 阿里java代码检测工具p3c

    阿里在杭州云栖大会上,正式发布众所期待的<阿里巴巴Java开发规约>扫描插件! 该插件由阿里巴巴P3C项目组研发.这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把<阿里巴巴 ...

  8. (笔记)ubuntu下安装jdk

    注:此文章转自“http://www.cnblogs.com/a2211009/p/4265225.html”,本人使用的是第二种方式. ubuntu 安装jdk 的两种方式: 1:通过ppa(源) ...

  9. spring 测试类test测试方法

    实例掩码地址为:孔浩组织结构设计 web.xml配置文件: <!-- Spring 的监听器可以通过这个上下文参数来获取beans.xml的位置 --> <context-param ...

  10. JVM监控和调优常用命令工具总结

    JVM监控和调优 在Java应用和服务出现莫名的卡顿.CPU飙升等问题时总是要分析一下对应进程的JVM状态以定位问题和解决问题并作出相应的优化,在这过程中Java自带的一些状态监控命令和图形化工具就非 ...