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. python函数的实例,书写一个创建有针对性的专用密码字典的程序

    python学习,实战学习,函数的学习与使用,综合知识的运用.包括for ,while循环,if...else.. 和if... elif ... else 的条件判断! 问题描述:书写一个创建有针对 ...

  2. js中的逻辑运算符详解(||、&&、!)

    视频地址:https://www.bilibili.com/video/BV1Y7411K7zz?p=1 一直以来都没弄清楚js中的逻辑运算符是怎么回事 , 一直都以为他们的用法和java一样 , 今 ...

  3. STM32通过rosserial接入ROS通讯开发

    作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:羽林君 前言 主题:串口是一种设备间常用的通讯接口,rosserial将串口字符数据转发到标准ROS网络,并输出到rosout和其日志文件.本文将 ...

  4. Scala类型参数(泛型)与隐式转换

    package com.yz9 import org.junit.Test import scala.collection.mutable.ListBuffer class test { @Test ...

  5. “科大讯飞杯”第18届上海大学程序设计联赛春季赛暨高校网络友谊赛 G 血压游戏

    [血压游戏] (https://ac.nowcoder.com/acm/contest/5278/G) 神奇的tag数组...,巧妙弥补了高度损失. 方法一:dsu on tree 类似长链剖分,不过 ...

  6. 2015 Multi-University Training Contest 10(9/11)

    2015 Multi-University Training Contest 10 5406 CRB and Apple 1.排序之后费用流 spfa用stack才能过 //#pragma GCC o ...

  7. Codeforces Round #627 (Div. 3) B - Yet Another Palindrome Problem(逻辑)

    题意: 问一个数组中是否存在至少长为3的回文子数组(按下标排列,可不连续). 思路: 找三个相同数或两个不连续的相同数. #include <bits/stdc++.h> using na ...

  8. gym100923C. Por Costel and Bujor (高斯消元)

    题意:简化一下 就是解N个 系数矩阵一样 等式右边列矩阵不一样的方程组 题解:系数矩阵一样 为什么我却毫无办法???? 其实只要把等式右边的矩阵都排在后面就好了啊 就变成解一个N x 2N的方程组了 ...

  9. hdu5491 The Next

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission ...

  10. NCD 2019 C. Hasan and his lazy students

    题意:给你一组数,求最长的严格上升子序列及个数(mod 1e9+7) 题解:用动态规划来求LIS,记\(dp[i]\)是数组中第i个位置上的数的LIS最优解,我们遍历一遍原数组,然后找i位置前的LIS ...