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. Gitlab + DRBD HA

    部署简介: 为了gitlab有容灾的能力,所以部署一个HA的小集群,用到的软件有 gitlab 和brbd,目前现有环境为 master节点 系统版本:CentOS release 6.5 (Fina ...

  2. 使用C#实现数据结构堆

    一. 堆的介绍: 堆是用来排序的,通常是一个可以被看做一棵树的数组对象.堆满足已下特性: 1. 堆中某个节点的值总是不大于或不小于其父节点的值 任意节点的值小于(或大于)它的所有后裔,所以最小元(或最 ...

  3. 软件测试漫谈(web测试,自动化测试,Jmeter)

    软件测试,就是一个过程或一系列过程,用来确定计算机代码完成了其应该完成的功能不执行其不该有的操作. 简单说就是找bug的过程. 测试分类 (1)按测试方式分类:静态测试.动态测试 (2) 按测试方法分 ...

  4. zjnu1786 PROSJEK(二分)

    Description Sample Input 4 1 1 2 3 4 Sample Output 4.000000 题意:给你n个数,让你找到长度大于等于k的连续串的最大平均值. 思路:我们可以二 ...

  5. pta—紧急救援 (dijkstra)

    题目连接:https://pintia.cn/problem-sets/994805046380707840/problems/994805073643683840 题面: 作为一个城市的应急救援队伍 ...

  6. HDU-6608 Fansblog(威尔逊定理+素数间隔+逆元)

    参考博客:https://blog.csdn.net/birdmanqin/article/details/97750844 题目链接:链接:http://acm.hdu.edu.cn/showpro ...

  7. 前端模块化之ES Module

    一.概述 之前提到的几种模块化规范:CommonJS.AMD.CMD都是社区提出的.ES 2015在语言层面上实现了模块功能,且实现简单,可以替代CommonJS和AMD规范,成为在服务器和浏览器通用 ...

  8. Vulkan与DX11交互

    Demo演示地址07_wintest 有什么用 在android平台主流是用opengl es,android下vulkan与opengles纹理互通. 而在win平台,主流游戏还用的是DX11,如果 ...

  9. ABP设置管理模块: Abp.SettingUi

    开源地址: https://github.com/EasyAbp/Abp.SettingUi 一直想宣传一下SettingUi, 因为 懒 工作比较忙, 所以才拖到今天. 关于ABP就不需要我再多废口 ...

  10. codeforces 1C (非原创)

    C. Ancient Berland Circus time limit per test 2 seconds memory limit per test 64 megabytes input sta ...