【从零开始重学Java】第2天 标识符和数据类型

传送门

从零开始重学Java 第0天
从零开始重学Java 第1天 Java概述
从零开始重学Java 第2天 标识符和数据类型
从零开始重学Java 第3天 表达式和流程控制语句
从零开始重学Java 第4天 数组、向量和字符串
从零开始重学Java 第5天 对象和类
从零开始重学Java 第6天 异常
从零开始重学Java 第7天 高级特性
从零开始重学Java 第8_9_10天 图形界面、Swing、Applet
从零开始重学Java 第11天 数据流
从零开始重学Java 第12天 线程
从零开始重学Java 第13天 线程

标识符和数据类型

Java的基本语法单位

写得多了自然就都知道了

空白、注释及语句

关键字

说几个特殊的平时接触不到的

  • strictfp 解决早期不同系统浮点数运算不一致情况,现在已经没有这种问题了所以没见过了,但关键字还是在的
  • default 除了switch-case,Java8以后还用于接口的默认方法实现
  • native 用于修饰方法,使用native关键字可以在Java中调用本地方法,并且通过与本地库的交互,实现对底层系统资源和功能的访问
  • volatile 多线程场景,修饰共享变量,但volatile只能保证可见性,不能保证原子性
  • transient 序列化反序列化都忽略该字段

标识符

Java编码体例

  • 培养属于自己的编程风格

实际工作中我建议是“入乡随俗”,比如实现一个分页查询,你习惯使用PageHelper,项目都在使用手动limit,那就也使用limit,保持统一

Java的基本数据类型

基本数据类型

  • boolean, byte, short, char, int, long, float, double

注意 char在自定义类里的默认初始值是 '\u0000' 是一个空字符(null character),空字符在控制台输出时不会显示任何字符或空格

但是,在使用System.out.println()方法打印空字符时,输出结果并不是什么都没有,而是显示为空白符。
这是因为控制台将空字符视为一个有效的字符,并在输出时分配了空间。
虽然空字符本身不可见,但是在占用控制台输出区域后,会导致后续字符的偏移量发生变化,从而导致输出结果中出现空格。

注意浮点数有个NAN (Not a Number) 表示一个无效或未定义的数值,任何与NaN进行相等性比较的结果都是false

public static final float NaN = 0.0f / 0.0f;

public static boolean isNaN(float v) {
    return (v != v);
}

类型转换

  • 两个不同类型做运算,不显示指定,默认向着更高级的那个转换

变量、说明和赋值

复合数据类型

概述

复合数据类型

类和对象的初步介绍

Java中的面向对象技术

  • 分析、设计、程序设计

Java中的类定义

Java中与OOP有关的关键字

类定义示例

创建一个对象

引用变量的赋值

默认初始化和null引用值

  • 声明时仅为引用分配空间,实例化后分配实例的地址

术语概述

第二章习题

  • 认识Java关键字
  • 认识Java标识符

不能数字开头,除数字字母外,字符只能含有$和_,不能关键字

  • 什么是对象,基本数据类型与对象有何不同?

对象是由属性和方法组成的复杂数据类型,用于表示具体的实体或事物,而基本数据类型是用于表示简单数据值的预定义类型
存储方式、默认值、大小限制和包装类等方面存在不同

  • 什么是类,什么是面向对象的程序设计方法,你学过哪些程序设计方法

类(Class)是一种自定义的数据类型,用于封装数据和行为。类是面向对象编程的基础,它是一种抽象的概念,用于描述一类具有相似属性和行为的对象。由属性和方法组成

面向对象编程(Object-oriented Programming,简称OOP)是一种程序设计方法,它以对象作为程序的基本单位,通过封装、继承和多态等机制来实现代码的模块化、复用和扩展。面向对象编程强调的是对象之间的交互,而不是过程式编程中的函数调用。

声明式:SQL、HTML、CSS。函数式:Scala。过程式:C。逻辑式:Prolog

  • Java与C++在面向对象设计方面的不同点和相同点

都支持类、继承、封装和多态等面向对象的特性,都可以使用访问修饰符来控制成员变量和成员函数的访问权限,都支持抽象类和接口,用于实现对类的抽象和约束

C++支持多重继承,而Java不支持,Java使用接口间接实现多重继承的效果。
Java中所有类都直接或间接继承自Object类,而C++中没有这样的基类。
Java使用垃圾回收机制来管理内存,而C++需要手动进行内存管理,包括分配和释放内存。
Java支持异常处理机制,而C++使用的是错误代码(error code)来表示程序中出现的异常情况。
Java中的字符串是对象,而C++中的字符串是字符数组。

posted @ 2024-01-04 15:31  迷路的哨兵甲  阅读(9)  评论(0编辑  收藏  举报