Java自学第2期——注释、数据类型、运算符、方法
2.1、注释
注释用于说明某段代码的作用,某个类的用途,某个方法的功能,参数和返回值数据类型的意义等等;
注释非常非常非常重要,回顾代码时通过注释找回思路;团队沟通需要,让别人读懂你的代码,增加效率;
可读性第一,效率第二!
注释类型:
- 单行注释://
- 多行注释:/* */
举例:

2.2、数据类型
2.2.1、分类:
基本类型:boolean类型 + 数值类型
- boolean类型:boolean
- 数值类型:整型( byte、short、int、long、char )、浮点型( float、double )(取值范围递增)
引用类型:类、接口、数组、null类型
2.2.2、数据类型转换
Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。
自动转换:将 取值 范围小 的类型 自动提升为 取值 范围大 的类型。
- 当一个 int 类型变量和一个 double 变量运算时, int 类型将会自动提升为 double 类型进行运算。
- 一个 int 类型变量和一个 byte 类型变量进行加法运算, 结果会是int类型
- 范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为 int 。
强制转换:将 取值范围大的类型 强制转换成 取值范围小的类型 。
将 数值2.9 赋值到 int 类型变量会发生什么?产生编译失败,无法赋值。
double 类型内存8个字节, int 类型内存4个字节。 2.9 是 double 类型,取值范围大于 int 。 想要赋值成功,只有通过强制类型转换,将 double 类型强制转换成 int 类型才能赋值。
- 转换格式: 数据类型 变量名 = (数据类型)被转数据值;
int number = (int) 2.9;
/*
number就变成了2(取整数位数字),double类型被转换为int类型,
但是注意到范围有所减小,造成精度损失
*/
- 注意:浮点转成整数,直接取消小数点,可能造成数据损失精度。 int 强制转成 short 砍掉2个字节,可能造成数据丢失。
2.3、运算符
算术运算符
| 符号 | 含义 |
|---|---|
| + | 加法运算 |
| - | 减法运算 |
| * | 乘法运算 |
| / | 除法运算 |
| % | 取模运算,两个数字相除取余数 |
| ++、- - | 自增自减运算 |
赋值运算符
| 运算符 | 含义 |
|---|---|
| = | 等于 |
| += | 加等于,左边等于左边加右边 |
| - = | 减等于,左边等于左边减右边 |
| *= | 乘等于,左边等于左边乘右边 |
| /= | 除等于,左边等于左边除以右边 |
| %= | 取模等于,左边等于左边除以右边取余数
比较运算符
| 运算符 | 含义 |
|---|---|
| == | 两边相等返回true |
| < | 左边小于右边返回true |
| > | 左边大于右边返回true |
| <= | 左边小于或者等于右边返回true |
| >= | 左边大于或者等于右边返回true |
| != | 两边不等返回true |
逻辑运算符
| 运算符 | 含义 |
|---|---|
| && | 与 |
| || | 或 |
| ! | 非 |
三目运算符
- 格式:
- 数据类型 变量名 = 布尔类型表达式?结果1:结果2
- 三目运算符计算方式: 布尔类型表达式结果是true,三目运算符整体结果为结果1,赋值给变量。布尔类型表达式结果是false,三目运算符整体结果为结果2,赋值给变量。
2.4、方法
2.4.1、方法的定义
定义格式:
修饰符 返回值类型 方法名 (参数列表)
public static void main(String[] args)
- static表示这是一个静态方法
2.4.2、方法的调用
在 主方法中,直接写要调用的方法名字就可以调用了。
public static void main(String[] args) {
//调用定义的方法method
method();
}
//定义方法,被main方法调用
public static void method() {
System.out.println("自己定义的方法");
}
Java自学第2期——注释、数据类型、运算符、方法的更多相关文章
- 003 python 注释/数据类型/运算符/输入输出/格式化输出
集成开发环境 pycharm 工欲善其事,必先利其器 pycharm是具备一般的python ide的功能,同时呢支持调试,语法高亮,代码管理,智能提示 加快快发的速度,提高开发效率 注释 what ...
- Java自学第6期——Collection、Map、迭代器、泛型、可变参数、集合工具类、集合数据结构、Debug
集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值. ...
- Java自学第10期——File类与IO流(输入输出流、处理流、转换流、缓冲流、Properties集合、打印流)
1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和 ...
- Java自学第7期——异常(Exception)
1.概念: 异常 :指的是程序在执行过程中,出现的非正常的情况,终会导致JVM的非正常停止. 在Java等面向对象的编程语言中,异常本身是一个类, 产生异常就是创建异常对象并抛出了一个异常对象. Ja ...
- java自学第5期——Object、Date、Calender、System、StringBuilder、基本类型包装类
一.Object类 作用:对象操作 位置:java.lang.Object 方法: public String toString() :返回对象的字符串表示形式. public boolean equ ...
- java自学第4期——:Scanner类、匿名对象介绍、Random类、ArrayList集合、标准类格式、String类、static静态、Arrays工具类、Math类(1)
一.Scanner类 1.api简介: 应用程序编程接口 2.Scanner类: 作用:获取键盘输入的数据 位置: java.util.Scanner. 使用:使用成员方法nextInt() 和 ne ...
- java自学第3期——继承、多态、接口、抽象类、final关键字、权限修饰符、内部类
一.继承: 关键字extends /* 定义一个父类:人类 定义父类格式:public class 父类名称{ } 定义子类格式:public class 子类名称 extends 父类名称{ } * ...
- Java自学第8期——多线程
1.多线程: 操作系统支持同时运行多个任务,一个任务通常是一个程序,所有运行中的程序就是一个进程().程序内部包含多个顺序执行流,每个顺序执行流就是一个线程. 并发:两个或者多个事件在同一个时间段内交 ...
- Java自学第9期——Lambda表达式
1.入门 使用场景:如果创建函数式接口(该接口的抽象方法只能有一个)的实例时,使用Lambda表达式更加简洁方便. 2.格式: (形参列表) -> { 代码块 } 3.简化 只有一个参数时,可以 ...
随机推荐
- hadoop的Namenode HA原理详解
为什么要Namenode HA? 1. NameNode High Availability即高可用. 2. NameNode 很重要,挂掉会导致存储停止服务,无法进行数据的读写,基于此NameNod ...
- CCF-有趣的数(数位DP)
有趣的数 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前 ...
- 小心 Enum Parse 中的坑
小心 Enum Parse 中的坑 Intro 最近使用枚举的时候,踩了一个小坑,分享一下,主要是枚举从 int 值转成枚举时可能会遇到 Sample 来看下面的示例: 首先定义一个枚举: publi ...
- Java中详述线程间协作
线程协作 首先引入一段代码: package 线程间数据共享; import java.util.Date; public class Watch { private static String ti ...
- c语言实现--单向循环链表操作
1,什么叫单向循环链表.单向循环链表是指在单链表的基础上,表的最后一个元素指向链表头结点,不再是为空. 2,由图可知,单向循环链表的判断条件不再是表为空了,而变成了是否到表头. 3,链表的结点表示 1 ...
- hdu 6863 Isomorphic Strings 哈希+求公因子
题意: t组输入,每组数据输入一个整数n,代表字符串长度.下面再输入一个字符串 你需要判断这个字符串能不能分成大于1段,且这些段的最小表示法是一样的 例如:abccab,它可以分成2段,分别是abc和 ...
- 安装python的selenium库和驱动
对于使用selenium来进行python爬虫操作可以简化好多操作,它实际上的运行就是通过打开一个浏览器来一步一步的按照你的代码来执行 如果安装过python编译器后应该pip工具也是有的,验证pyt ...
- AtCoder Beginner Contest 173 C - H and V (二进制枚举)
题意:有一张图,.表示白色,#表示黑色,每次可以将多行和多列涂成红色(也可不涂),问有多少种方案,使得剩下黑点的个数为\(k\). 题解:又学到了新的算法qwq,因为这题的数据范围很小,所以可以用二进 ...
- 2019 ICPC Asia Taipei-Hsinchu Regional Problem J Automatic Control Machine (DFS,bitset)
题意:给你\(m\)个长度为\(n\)的二进制数,求最少选多少个使它们\(|\)运算后所有位置均为\(1\),如果不满足条件,则输出\(-1\). 题解:这题\(n\)的范围很大,所以我们先用\(st ...
- MIT 6.S081 聊聊xv6的文件系统(中)日志层与事务
前言 我本想把上篇中没讲完的剩余层全部在本篇中讲完,但没想到越写越多.日志层的代码不多,其思想和解决问题的手段也不算难以理解,但其背后涉及的原理和思想还是非常值得回味的,因此我打算用一整篇完整的blo ...