No_16_0221 Java基础学习第二天

文档版本 开发工具 测试平台 工程名字 日期 作者 备注
V1.0 2016.02.21 lutianfei none

第二章 Java基础语法
(一)关键字
(二)标识符
1、常见命名规则
(三)注释
(四)常量
原码、反码、补码
有符号数据表示法
(五)变量
数据类型的默认转换
数据类型的强制转换
面试题1
面试题2
练习题1 byte b = 300;
练习题2,写出下列程序结果

第二章 Java基础语法

  • 本章内容

    • 关键字
    • 标识符
    • 注释
    • 常量、进制和进制转换
    • 变量
    • 数据类型和类型转换
    • 运算符
    • 语句

(一)关键字

  • 关键字概述

    • 被Java语言赋予特定含义的单词
  • 关键字特点
    • 组成关键字的字母全部小写
  • 关键字注意事项
    • goto和const作为保留字存在,目前并不使用(在JDK的新版本中可能提升为关键字)
    • 类似Notepad++这样的高级记事本,针对关键字有特殊的颜色标记,非常直观

(二)标识符

  • 标识符概述

    • 就是给类,接口,方法,变量等起名字时使用的字符序列
  • 组成规则
    • 英文大小写字母
    • 数字字符
    • $和_
  • 注意事项
    • 不能以数字开头
    • 不能是Java中的关键字
    • 区分大小写

1、常见命名规则

  • 基本原则:见名知义
  • 常见命名
    • (其实就是文件夹,用于解决相同类名问题,全部小写)

      • 单级:miaolu,liuyi
      • 多级(用.隔开):cn.ali
    • 类或者接口每个字首字母大写,含有大小写。
      • 一个单词 : 首字母大写 eg:Times
      • 多个单词:每个单词首字母大写。 eg: studentAge,showAllAge
    • 方法和变量
      • 一个单词 : 全部小写 eg:main,age
      • 多个单词:从第二个单词开始每个单词首字母大写。 eg: studentAge,showAllAge
    • 常量名基本数据类型的常量名使用全部大写字母,_字与字之间用下划线分隔。对象常量可大小混写。
      • 一个单词 : 字母大写 eg:TIME
      • 多个单词:字母大写,每个单词用_隔开。 eg:SIZE_TYPE

(三)注释

  • 注释概述

    • 用于解释说明程序的文字
  • Java中注释分类格式
    • 单行注释

      • 格式: //注释文字
    • 多行注释
      • 格式: /* 注释文字 */
    • 文档注释
      • 格式:/** 注释文字 */
      • 对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
  • eg:标准注释举例:
  1. //标准注释
  2. /*
  3. * 需求:准备写一个Java程序,把HelloWorld!!!这句话输出在控制台
  4. * 分析:
  5. * A:要写一个Java程序,必须定义类
  6. * B: 把数据能够输出,说明我们的程序时可以独立运行的,而 程序要独立运行,必须定义main方法
  7. * C: 把数据输出在控制台,必须使用输出语句
  8. * 实现:
  9. * A:java 语言提供了一个关键字:class用来定义类,后面跟的是类名
  10. * B: main方法的格式是固定的:
  11. * public static void main(String[] args){
  12. }
  13. * C:输出语句的格式是固定的:
  14. System.out.println("HelloWorld");
  15. */
  16. //这是一个HelloWorld案例
  17. class HelloWorld{
  18. /*
  19. 为了程序能够独立运行,定义main方法
  20. main方法是程序的入口,被jvm自动调用
  21. */
  22. public static void main(String[] args){
  23. System.out.println("HelloWorld");
  24. }
  25. }

(四)常量

  • 常量概述

    • 在程序执行的过程中其值不可以发生改变
  • Java中常量分类
    • 字面值常量
    • 自定义常量(面向对象部分讲)
  • 字面值常量分类
    • 字符串常量 用双引号括起来的内容

      • “Helloworld”
    • 整数常量 所有整数
      • 12,23
    • 小数常量 所有小数
      • 12.34,56.78
    • 字符常量 用单引号括起来的内容
      • ‘a’,’A’,’0’(必须只能是一个字符)
    • 布尔常量 较为特有,只有truefalse
    • 空常量 null(数组部分讲解)
  • 注对于数值默认按十进制处理。
    • 二进制:0b100
    • 八进制 :0100
    • 十进制: 100
    • 十六进制:0x100

原码、反码、补码

有符号数据表示法
  • 在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。
  • 原码
    • 就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
  • 反码
    • 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外
  • 补码
    • 正数的补码与其原码相同;负数的补码是在其反码的末位加1
  • 有符号数据练习
    • 已知某数X的原码为10110100B,试求X的补码和反码。
    • 已知某数X的补码11101110B,试求其原码。(补码 ->原码 符号位除外直接取反加1)

(五)变量

  • 变量概述

    • 在程序执行的过程中,在某个范围内其值可以发生改变的量
    • 理解:如同数学中的未知数
  • 变量定义格式
    • 数据类型 变量名 = 初始化值;
    • 注意:格式是固定的,记住格式,以不变应万变

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间

  • 注:

    • 整数默认:int
    • 小数默认:double
    • 长整形后缀用L或l标记。建议用L。
    • 单精度浮点数用f或F标记。建议用F。
  • 使用变量注意事项:
  • 作用域
    • 变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。
    • 相同的作用域中不能定义两个同名变量。
  • 初始化值
    • 没有初始化值不能直接使用。只要在使用之前给值就行,不一定在定义的时候立马给值。
    • 在一行上建议只定义一个变量,可以定义多个,但是不建议

数据类型的默认转换

  • 一般来说要求参与运算的数据类型必须一致。
  • boolean类型不能转换为其他的数据类型
  • 默认转换(小类型先转成大类型再参与运算)
    • byte,short,char—>int—>long—>float—>double
    • byte,short,char相互之间不转换,他们参与运算时首先转换为int类型

数据类型的强制转换

  • 目标类型 变量名=(目标类型)(被转换的数据);

    • eg:byte c = (byte)(a+b); //int a,byte b;

面试题1

  • byte b1=3,b2=4,b;
  • b=b1+b2;
  • b=3+4;
  • 哪句是编译失败的呢?为什么呢?
    • 因为b1和b2是变量,因为变量相加首先考虑类型问题,最终把结果赋值时也会考虑类型问题,所以默认b1+b2后为保证不溢出,会转为int类型进行存储。
    • 3和4都是常量,常量相加首先做加法,看结果是否超出byte类型的范围。如果没有可以正常赋值。

面试题2

  • byte b = 130;有没有问题?如果我想让赋值正确,可以怎么做?结果是多少呢?

    • 因为byte的范围是 -128 ~ +127, 130溢出了。
    • byte b = (byte)130;编译不会报错。
    • 分析过程:
      • A : 130转为2进制时:00000000 00000000 00000000 10000010(这是130的原码,反码,补码)
      • B : 截取操作,截取成byte : 10000010(这个结果是补码)
      • C :显示以原码形式呈现 转为原码(除符号位外取反+1)1111110

练习题1 byte b = 300;

练习题2,写出下列程序结果

  • System.out.println(‘a’); 结果:a
  • System.out.println(‘a’+1);结果:97
  • System.out.println(“hello”+’a’+1);
  • System.out.println(‘a’+1+”hello”);
  • System.out.println(“5+5=”+5+5);
  • System.out.println(5+5+”=5+5”);
  • 注:

    1、字符串数据和其他数据做+,结果是字符串类型.但是要注意运算的顺序。

  • 答案:
    • helloa1
    • 98hello
    • 5+5=55
    • 10=5+5

来自为知笔记(Wiz)

时间: 2024-11-04 13:41:25

No_16_0221 Java基础学习第二天的相关文章

Java基础学习第二天——基础数据类型介绍

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.02.21 lutianfei none 第二章 Java基础语法 本章内容 关键字 标识符 注释 常量.进制和进制转换 变量 数据类型和类型转换 运算符 语句 (一)关键字 关键字概述 被Java语言赋予特定含义的单词 关键字特点 组成关键字的字母全部小写 关键字注意事项 goto和const作为保留字存在,目前并不使用(在JDK的新版本中可能提升为关键字) (二)标识符 标识符概述 就是给类,接口,方法,变量等起名

Java基础学习第二天

================每日必读==================== 写代码: 1.明确需求.我需要实现什么需求? 2.分析思路.我需要怎么实现需求? 3.确定步骤.我的每一部分思路需要使用到哪些语句,方法,对象? 4.代码实现.使用代码表现我的思路. ps:每天看一遍,每天向前进... ================每日必读==================== package code.day01; public class Demo {    public static v

No_16_0221 Java基础学习第一天

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0       2016.02.21 lutianfei none 第一章 Java概述(一)计算机基础常用DOS命令(二) Java语言概述Java 跨平台原理(三)Java 开发工具介绍1.入门案例介绍问题:找不到或无法加载主类 HelloWorld2.环境变量的配置2.1.1 path环境变量配置的作用2.1.2 path环境变量配置方式12.1.3 path环境变量配置方式22.2.1 classpath环境变量配置方式 第

No_16_0324 Java基础学习第二十三天

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.03.24 lutianfei none 登录注册IO版 如下代码仅为UserDaoImpl类文件,其他原码参考day22_login_regist工程 public class UserDaoImpl implements UserDao { // 为了保证文件一加载就创建 private static File file = new File("user.txt"); static { try { fil

No_16_0325 Java基础学习第二十四天—多线程学习总结

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.03.25 lutianfei none 第十章 多线程 多线程概述 什么是进程? 进程:就是正在运行的程序. 进程是系统进行资源分配和调用的独立单位.每一个进程都有它自己的内存空间和系统资源. 多进程有什么意义呢? 可以在一个时间段内执行多个任务. 可以提高CPU的使用率. 什么是线程呢? 在同一个进程内又可以执行多个任务,而这每一个任务我就可以看出是一个线程. 线程:是程序的执行单元,执行路径.是程序使用CPU的最

Java基础学习第二十五天——多线程学习总结(二)

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.03.31 lutianfei none JDK5中Lock锁的使用 虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock. Lock: void lock(): 获取锁. void unlock():释放锁. ReentrantLock是Lock的实现类. public class SellT

Java基础学习——数组初识(1)

Java基础学习--数组初识(1) 1什么是数组 Java中常见的一种数据结构就是数组,数组可以分为一维数组.二维数组和多维数组. 数组是由一组相同的变量组成的数据类型,数组中每个元素具有相同的数据类型,数组中的每个元素都可以用一个统一的数组名和下标来确定. 2 数组的使用 数组的一般使用步骤: 声明数组 分配内存给该数组 下面是一维数组为例: 数据类型  数组名 []: 数组名 = new 数据类型 [数据个数]: 2.1一维数组的声明与赋值 1.数组的声明 int  num [];    

JAVA基础学习笔记(2)

看了几天的视频了,都没时间来写下学习笔记,今天来写下第二次的学习笔记,前几天看的给忘记了,就写最新看到的吧 主要内容:1.类的变量与函数(方法) 2.对象的存储方式 3.新建一个对象及对象的赋值与调用 4.空对象 5.匿名对象 1.类的变量与函数(方法) class Dog      //类名 { String name;  //变量的声明 int age; String color; void bark()   //方法的定义(返回值为空,不带参数) { System.out.println(

java基础学习总结——GUI编程(一)

永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! java基础学习总结——GUI编程(一) 一.AWT介绍 所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Container(容器)在图形界面里面是一种可以容纳其它Component元素的一种容器,Container本身也是一种Component的,Container里面也可以容纳别的Container. Cont