Java教程

Java学习笔记1.1.2:基础语法

本文主要是介绍Java学习笔记1.1.2:基础语法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

不以规矩,不能成方圆。——《孟子·离娄上》

1. 注释

书写注释是个非常好的习惯。注释既是提醒自己的工具,又是帮助他人的方法。

1.1 单行注释

//单行注释

1.2 多行注释

/*多行注释1
多行注释2
多行注释3*/

1.3 文档注释

可以使用javadoc工具软件来生成信息,并输出到HTML文件中。

/**
  *文档注释
  *@author printreisub
  *@version 1.0
*/

2. 标识符

标识符是为方法、变量或用户自定义的名称。

2.1 标识符要求

  1. 所有标识符必须以字母,$,_开头;
  2. 首字符后必须跟以字母,$,_,数字;
  3. 标识符大小写敏感;
  4. 不能和关键字重复。

2.2 关键字

关键字是对编译器有特殊意义的固定单词,例如public、void、main等51个关键字。


3. 数据类型

Java为强类型语言,所有变量必须先定义才能使用。Java的数据类型分为基本数据类型引用数据类型

3.1 基本数据类型

3.1.1 整数类型

  1. 整数类型包括:byte, short, int, long四种类型;
名称 最小值 最大值 默认值
byte -2^7 2^7-1 0
short -2^15 2^15-1 0
int -2^31 2^31-1 0
long -2^63 2^63-1 0L
  1. 定义long类型变量时,赋值的数字后面需加L
  2. Ll其实一样,只不过l经常被看成1,故采用大写L
byte a = 1;
short b = 10;
int c = 100;
long d = 10L;

3.1.2 浮点类型

  1. 浮点类型包括:float, double两种类型;
  2. 定义float类型变量时,赋值的数字数字后面加F/f
  3. float类型默认值是0.0f,double类型默认值是0.0d
float a = 212.5F
float b = 212.5f
double c = 212.5

3.1.3 字符类型

  1. char表示一个单一的 16 位 Unicode 字符;
  2. char可存储任意一个字符。
char a = "请"

3.1.4 布尔类型(boolean)

  1. boolean类型的取值就两个:true, false;
  2. boolean类型默认值为false;
boolean one = true;
boolean zero = false;

以上类型的占用字节数/取值范围可在Java源代码对应的类中进行查找。

3.1.5 拓展知识

3.1.5.1 位(bit)

计算机内部最小存储单元,用bit表示。

3.1.5.2 字节(byte):

计算机内部数据处理的基本单位,习惯用大写B表示。

3.1.5.3 二者关系

1B=8bit

3.1.5.4 字符

是指计算机中使用的字母、数字、字和符号。

3.1.5.5 特殊的字符——转义字符

\t 制表符
\n 换行符

4. 类型转换

  1. 类型由低到高转换顺序排序
    byte,short,char-> int->long-> float-> double

  2. 在运算时,不同类型数据先转化为同一类型,然后再计算。

  3. 注意
    3.1 布尔类型不能转换;
    3.2 转换时可能存在内存溢出,精度存在问题;
    3.3 从高到低强制转换,从低到高自动转换

  4. 强制转换示例:

int a = 128;
byte b = (byte)a;
System.out.println(a);
System.out.println(b);

5. 变量

变量就是可以变化的量。

5.1 注意

  1. 变量必须有类型,可以是基本类型,也可以是引用类型
  2. 每个变量名必须是合法标识符
  3. 变量声明为完整语句,每一个声明都必须以 ; 结束;
  4. 类型不初始化,则赋值为默认值。除特殊规定(详见3.1)外,其余皆为null。

5.2 分类

5.2.1 类变量

在类里的变量(独立于方法之外),用static修饰。

5.2.2 实例变量

在类里的变量(独立于方法之外),不用static修饰。

5.2.3 局部变量

在类的某方法内有效的变量。

5.2.4 示例

public class Variable{
    static int allClicks=0;    // 类变量
    String str="hello world";  // 实例变量
    public void method(){
        int i =0;  // 局部变量
    }
}

5.3 常量

常量就是值固定不变的特殊变量

5.3.1 示例

final double PI = 3.1415927;

5.4 变量命名规则

5.4.1 基本要求

所有变量、方法、类名需见名知意

5.4.2 约定俗成

命名 要求
类成员变量 首字母小写+驼峰原则
局部变量 首字母小写+驼峰原则
方法名 首字母小写+驼峰原则
类名 首字母写+驼峰原则
常量 大写字母+下划线

6 运算符

名称 符号
算术运算符 +,-,*,/,%,++,--
赋值运算符 =
关系运算符 >,<,>=,<=,==,!=,instanceof
逻辑运算符 &&,,||,!
自增自减运算符 ++,--
位运算 &,|,^,~,>> ,<<
三元运算符 ?
拓展运算符 +=,-=,*=,/=

6.1 ++a与a++的区别

输入以下代码

int a=3;
int b=a++;
int c=++a;
System.out.println("b="+b);
System.out.println("c="+c);
//打印语句中的+为字符串连接符,不为运算符。

输出结果为:

b=3
c=5

6.2 原因

前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算;
后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算 。

6.3 幂运算

Java中的幂运算需要调用工具类Math

double pow = Math.pow(3,2);

6.4 位运算

A =     0011 1100;
B =     0000 1101;
A & B = 0000 1100;
A | B = 0011 1101;
A ^ B = 0011 0001;
~A =    1100 0011;
A >> 2 =0000 1111;
A << 2 =1111 0000;

6.5 三元运算符

6.5.1 格式

x ? y : z

6.5.2 含义

如果x为true,执行y;如果x为false,执行z。相当于if的精简版。


7 包机制

  1. 包的本质为文件夹;
  2. 目录结构为域名倒置,例如:com.printreisub.wiki;
  3. 导入包下的类,使用import,示例:
import com.printreisub.wiki.Demo1;
import com.printreisub.wiki.*;

附录

面试问题:银行存款使用数据类型

问题一

float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);

输出结果为:

false

问题二

float d1 = 21313123131321323131f;
float d2 =d1 + 1;
System.out.println(d1==d2);

输出结果为:

true

因此,double和float的使用存在一定局限性,不能精确的表示银行数字里的存款。此问题应当使用类BigDecimal


  • 本文章整理自B站up主遇见狂神说:【狂神说Java】,如有版权问题请及时联系我删除。

  • 希望在前进的道路上有更多志同道合的朋友!请看本人主页介绍

  • 本人非计算机科班出身,CFD方向本科生,待上岸二战生一名。如果写作内容存在问题,可联系我进行修改。

这篇关于Java学习笔记1.1.2:基础语法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!