如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。反复练习直到熟练。

1.1 注释

为了方便程序的阅读,Java语言允许程序员在程序中写上一些说明性的文字,用来提高程序的可读性,这些文字性的说明就称为注释。 注释不会出现在字节码文件中,即Java编译器编译时会跳过注释语句。 在Java中根据注释的功能不同,主要分为单行注释多行注释文档注释

  • 单行注释: 使用“//”开头,“//”后面的单行内容均为注释。
  • 多行注释: 以“/*”开头以“*/”结尾,在“/*”和“*/”之间的内容为注释,我们也可以使用多行注释作为行内注释。但是在使用时要注意,多行注释不能嵌套使用。
  • 文档注释: 以“/**”开头以“*/”结尾,注释中包含一些说明性的文字及一些JavaDoc标签(后期写项目时,可以生成项目的API)

1.2 标识符

标识符是用来给变量、类、方法以及包进行命名的。

标识符需要遵守一定的规则:

  • 标识符必须以字母、下划线_、美元符号$开头。
  • 标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。
  • Java 标识符大小写敏感,且长度无限制。
  • 标识符不可以是Java的关键字。

标识符的使用规范:

  1. 表示类名的标识符:每个单词的首字母大写,如Boy, GoodBoy
  2. 表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如go(), goHome()

【注意】:Java不采用通常语言使用的ASCII字符集,而是采用Unicode这样标准的国际字符集。因此,这里字母的含义不仅仅是英文,还包括汉字等等。但是不建议大家使用汉字来定义标识符!

1.3 Java中的关键字/保留字

Java关键字是Java语言保留供内部使用的,如class用于定义类。 关键字也可以称为保留字,它们的意思是一样的,我们不能使用关键字作为变量名或方法名。

1.4 变量

1.4.1 变量的本质

变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。

Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=9; 表示a变量的空间大小为4个字节。

变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。

变量的声明:

/* type varName [=value]; */
//声明变量
int i;
int a = 10;

注意事项

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  • 变量名必须是合法的标识符。
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

1.4.2 变量的分类

从整体上可将变量划分为局部变量、成员变量(也称为实例变量)和静态变量。

1.5 常量

常量通常指的是一个固定的值。在Java语言中,主要是利用关键字final来定义一个常量。 常量一旦被初始化后不能再更改其值。

声明格式为:

final  type  varName = value;

为了更好的区分和表述,一般将12、、‘a’、true、”helloWorld”等称为字面常量,而使用final修饰的PI等称为符号常量

变量和常量命名规范(规范是程序员的基本准则,不规范会直接损害你的个人形象):

  1. 所有变量、方法、类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则: monthSalary
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_VALUE
  5. 类名:首字母大写和驼峰原则: Man, GoodMan
  6. 方法名:首字母小写和驼峰原则: run(), runRun()

1.6 基本数据类型(primitive data type)

Java是一种强类型语言,每个变量都必须声明其数据类型。 Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。

数据类型的分类

引用数据类型的大小统一为4个字节,记录的是其引用对象的地址!

1.7 运算符

计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操作变量。

运算符分类

1.8 类型转换

1.8.1 自动类型转换

自动类型转换指的是容量小的数据类型可以自动转换为容量大的数据类型。如下图所示,黑色的实线表示无数据丢失的自动类型转换,而虚线表示在转换时可能会有精度的损失。

自动类型转换

可以将整型常量直接赋值给byte、 short、 char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围即可。

1.8.2 强制类型转换

强制类型转换,又被称为造型,用于显式的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。

语法格式:

//运算符“()”中的type表示将值var想要转换成的目标数据类型。
//(type)var
double x  = 3.14;
int nx = (int)x;   //值为3

当将一种类型强制转换成另一种类型,而又超出了目标类型的表数范围,就会被截断成为一个完全不同的值。

int x = 300;
byte bx = (byte)x;    //值为44

不能在布尔类型和任何数值类型之间做强制类型转换!

强制类型转换规则 java_Java学习——第002天学习笔记整理相关推荐

  1. 《繁凡的深度学习笔记》前言、目录大纲 一文让你完全弄懂深度学习所有基础(DL笔记整理系列)

    <繁凡的深度学习笔记>前言.目录大纲 (DL笔记整理系列) 一文弄懂深度学习所有基础 ! 3043331995@qq.com https://fanfansann.blog.csdn.ne ...

  2. 深度学习总结——CS231n课程深度学习(机器视觉相关)笔记整理

    深度学习笔记整理 说明 基本知识点一:模型的设置(基本) 1. 激活函数的设置 2. 损失函数的设置 (1) 分类问题 (2) 属性问题 (3) 回归问题 3. 正则化方式的设置 (1) 损失函数添加 ...

  3. JavaScript中的强制类型转换规则

    JavaScript中的类型从来都不是在定义的时候就确定的,而是在运行期间确定的 JavaScript中的强制类型转换总是返回基本类型值 JavaScript中常见的转换就是向数字.字符串.布尔值进行 ...

  4. 知识图谱学习(一)(笔记整理)

    本篇来自于文章<从技术实现到产品落地,"知识图谱"的未来还有多远?> 知识图谱学习(一) 一.组成部分 知识图谱大致可分为:知识建模.知识获取.知识融合. 知识存储.知 ...

  5. #千锋逆战班,王富胜# 学如逆水行舟,不进则退。在千锋学习的第14天 笔记整理

    1.Servlet:是服务器端程序,作用是实现前后台交互.本质是一种特殊Java程序. 2.Servlet家族系谱图: 3.手动创建Servlet: 3.1:创建一个java类,让这个java类继承或 ...

  6. char强制类型转换为int_为强制类型转换正名

    为强制类型转换正名​www.yexiaochen.com 引子 强制类型转换是JavaScript开发人员最头疼的问题之一, 它常被诟病为语言设计上的一个缺陷, 太危险, 应该束之高阁. 作为开发人员 ...

  7. php 强制返回,给PHP增加函数强制类型返回

    在开发过程中,函数的返回值类型应该是确定不变的,但PHP是弱类型的语言, 所以PHP是没有此类语法验证的,正因为如此,造成了很多坑坑. 比如下面的代码: ?phpfunction getArticle ...

  8. (总结版)Javascript中的类型转换规则 以及 JS加法运算中的类型转换规则

    一.其他值到布尔类型的值的转换规则 以下这些是假值: • false • undefined • null • +0.-0 和 NaN • "" 假值的布尔强制类型转换结果为 fa ...

  9. 计组之数据运算:8、c语言之强制类型转化、数据的存储与排序(大小端、字节对齐)

    8.c语言之强制类型转化 数据的存储与排序 大小端模式 边界对齐 数据的存储与排序 大小端模式 边界对齐

最新文章

  1. 技能 | Python处理图像10大经典库(附下载地址)
  2. java 滑动窗口_【Java】 剑指offer(59-1) 滑动窗口的最大值
  3. Leetcode70场双周赛-第一题2144. 打折购买糖果的最小开销
  4. android系统的发展态势,2020年安卓手机发展的7个趋势,只有延伸,并无革命性的变化...
  5. ABP理论学习之日志记录
  6. 创建的maven子项目怎么访问接口404_【经验分享】新手学Java编程语言怎么入门?...
  7. Atitit recv https req post code 接受https请求// npm install axios// 安装依赖:npm install body-parse
  8. mt6573集成MCP nandflash的详细方法
  9. Micrometer中文文档
  10. python 动图处理_python图像处理-gif动图
  11. 网速前端计算系统探测
  12. 3dMax 对齐(星系)
  13. outer和left outer join有什么区别
  14. Flink学习:WaterMark
  15. Additive equations
  16. 基于springboot,vue企业网盘系统
  17. MyBatis-Plus 批量插入
  18. 什么是IMAP?什么是POP3?
  19. 先来先服务算法——FCFS
  20. 安全绳使用方法图解_安全绳的使用方法及特点

热门文章

  1. python 多进程 字典,数组
  2. the cdb terminated,Qt调试器问题
  3. VLC搭建RTSP服务器的过程 -测试通过
  4. 特征值和特征向量的实际意义
  5. windows下svn server迁移
  6. VSCODE打开一个文件,另一个文件就关闭的问题的解决方法
  7. linux下oracle启动关闭
  8. 木桶排序算法_这才是你想要桶排序
  9. python编程16章教程_Python学习笔记__16.2章 TCP编程
  10. vue component created没有触发_详解在Vue中使用TypeScript的一些思考(实践)