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期——注释、数据类型、运算符、方法的更多相关文章

  1. 003 python 注释/数据类型/运算符/输入输出/格式化输出

    集成开发环境 pycharm 工欲善其事,必先利其器 pycharm是具备一般的python ide的功能,同时呢支持调试,语法高亮,代码管理,智能提示 加快快发的速度,提高开发效率 注释 what ...

  2. Java自学第6期——Collection、Map、迭代器、泛型、可变参数、集合工具类、集合数据结构、Debug

    集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值. ...

  3. Java自学第10期——File类与IO流(输入输出流、处理流、转换流、缓冲流、Properties集合、打印流)

    1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和 ...

  4. Java自学第7期——异常(Exception)

    1.概念: 异常 :指的是程序在执行过程中,出现的非正常的情况,终会导致JVM的非正常停止. 在Java等面向对象的编程语言中,异常本身是一个类, 产生异常就是创建异常对象并抛出了一个异常对象. Ja ...

  5. java自学第5期——Object、Date、Calender、System、StringBuilder、基本类型包装类

    一.Object类 作用:对象操作 位置:java.lang.Object 方法: public String toString() :返回对象的字符串表示形式. public boolean equ ...

  6. java自学第4期——:Scanner类、匿名对象介绍、Random类、ArrayList集合、标准类格式、String类、static静态、Arrays工具类、Math类(1)

    一.Scanner类 1.api简介: 应用程序编程接口 2.Scanner类: 作用:获取键盘输入的数据 位置: java.util.Scanner. 使用:使用成员方法nextInt() 和 ne ...

  7. java自学第3期——继承、多态、接口、抽象类、final关键字、权限修饰符、内部类

    一.继承: 关键字extends /* 定义一个父类:人类 定义父类格式:public class 父类名称{ } 定义子类格式:public class 子类名称 extends 父类名称{ } * ...

  8. Java自学第8期——多线程

    1.多线程: 操作系统支持同时运行多个任务,一个任务通常是一个程序,所有运行中的程序就是一个进程().程序内部包含多个顺序执行流,每个顺序执行流就是一个线程. 并发:两个或者多个事件在同一个时间段内交 ...

  9. Java自学第9期——Lambda表达式

    1.入门 使用场景:如果创建函数式接口(该接口的抽象方法只能有一个)的实例时,使用Lambda表达式更加简洁方便. 2.格式: (形参列表) -> { 代码块 } 3.简化 只有一个参数时,可以 ...

随机推荐

  1. Java8新特性_四大内置核心函数式接口

    Consumner : 消费型接口 Supplier :供给型接口 Function:函数式接口 Predicate:断言型接口 其他接口: 四大内置核心函数式接口: Consumner : 消费型接 ...

  2. StreamingContext详解,输入DStream和Reveiver详解

    StreamingContext详解,输入DStream和Reveiver详解 一.StreamingContext详解 1.1两种创建StreamingContext的方式 1.2SteamingC ...

  3. Django(视图)

    一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何 ...

  4. 使用Docker Compose编排Spring Cloud微服务

    文章目录 微服务构建实例 简化Compose的编写 编排高可用的Eureka Server 编排高可用Spring Cloud微服务集群及动态伸缩 微服务项目名称 项目微服务中的角色 microser ...

  5. 【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)

    问题描述 事件中心提供 Kafka 终结点,现有的基于 Kafka 的应用程序可将该终结点用作运行你自己的 Kafka 群集的替代方案. 事件中心可与许多现有 Kafka 应用程序配合使用.在Azur ...

  6. Pytest(9)skip跳过用例

    前言 pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能 Skip和xfail: 处理那些不会成功的测试用例 你可以对那些在某些特定平台上不能运行的测试用 ...

  7. 一次小模块的使用过程-LC12S无线模块介绍

    前言: 最近帮人做了个小设备,使用了无线模块.触摸芯片,主要功能就是把触摸按键的信号无线传到控制继电器输出,MCU是STM8系列的芯片,其中使用过程中调试无线模块LC21S觉得挺好用的,就写了这篇文章 ...

  8. HDU-4315 Climbing the Hill

    题目链接 先回到阶梯博弈的裸题中,比如POJ-1704,所有的块只能向左移并且不能跨越,这个向左移的结果我们可以理解为将左边的宽度减少使得右边的宽度增加,等同于阶梯模型中将石子从高阶移动到低阶.那么最 ...

  9. Codeforces Round #627 (Div. 3) A - Yet Another Tetris Problem(逻辑)

    题意 : 有n个高度,可以使任一高度加二任意次,问最终n个高度可否相同. 思路: 因为添加的2x1的方块不可旋转,只需考虑所有高度是否为同一奇偶性即可. #include <bits/stdc+ ...

  10. hdu4710 Balls Rearrangement(数学公式+取模)

    Balls Rearrangement Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...