最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

当前视点!java基础:java基础语法

来源:博客园

注释

  • 单行注释:对某一行进行注释,使用“/注释内容/”标识

  • 多行注释:可以书写多行,使用“/*注释内容*//”表示


    【资料图】

  • 文档注释:这个内容对IDEA是有意义的,/**注释内容*/

    public class Hello {    //单行注释    //注释后会被编译器忽略,不会作为语句编译    //每个单行注释只能写一行    /*    多行注释    这个注释可以写多行     */    public static void main(String[] args){        /**         * @Description 这里是文档注释,这段会被IDEA识别         * @author Muling         */        System.out.println("Hello,World!");//这句输出Hello,World!    }}

标识符和关键字

  1. 关键字

    java定义的一些保留字,用于区分语法,不能用于标识符

  2. 标识符

    标识符是所有组成部分的名称,如变量名、方法名、类名等等

数据类型

Java里的数据类型

JAVA是一种强类型语言,所有变量需要先声明后使用。

Java数据类型分为两个部分:基本类型和引用类型,这里主要说明基本类型。

基本数据类型如下:

数据类型占用空间(byte)表示范围
整型byte1-128~127
short2-32768~32767
int4-2147483648~2147483647
long8-9223372036854775808~9223372036854775807
浮点型float4
double8
字符型char2
布尔型boolean1 bit
//整型int num = 10_000_000//数字中间可以使用_分隔(便于阅读)byte num2 = 20;short num3 = 30;long num4 = 40L;//Long型后要加“L”//浮点型float num5 = 3.1F;//Float型后加“F”double num6 = 3.1;//字符char c = "a";//布尔boolean flag = true;boolean flag = false;

进制

  • 十进制
  • 二进制:0b
  • 八进制:0
  • 十六进制:0x

浮点数精度问题

浮点数有精度问题,如果需要精确计算,可以使用BigDecimal类。

字符

字符值

char型存储的数为Unicode值

如“a”为97,“A”为65,“好”为22909

值的范围为0~65535

转义字符

类型转换

Java是强类型语言,不同类型间运算的时候需要进行类型转换,换为同一类型后再计算。一般是从小向大进行转换,大向小转换会出现溢出。

  • 布尔类型不能进行转换!
  • 需要注意内存溢出和精度问题!
  • 浮点型向整型转换会进行向下取整(向0靠近)

强制类型转换

大到小转换需要使用强制类型转换

float a = 1.3F;int b = (int)a;

自由类型转换

小到大的转换是自由类型转换(自动转换)

变量、常量、作用域

变量

可以变化的量,变量使用前需要声明。

变量声明:

type varName[=value][,varName[=value]]

作用域

  • 类变量:加了static关键字修饰,可以直接在类内使用

  • 实例变量:需要调用类使用,不初始化的基本数据类型默认值为0,其余为null

  • 局部变量:在方法内部使用,使用前需要初始化

    public class Hello {    //类变量:加了static修饰    static double salary = 5000;    //实例变量:从属于对象,不初始化的基本数据类型默认值为0,其余为null    String name;    public static void main(String[] args){      //局部变量,必须声明和初始化       char c = "好";       Hello hello = new Hello();       //System.out.println(name); //会报错       System.out.println(hello.name);       System.out.println(salary);//类变量直接可用    }}

常量

与变量基本相同,需要使用final修饰,不可修改。

命名原则

类名首字母大写,其他小写,使用驼峰写法,常量全大写,下划线分隔

运算

运算符

Math类

内含非常多的数学运算方法,幂运算、绝对值等需要调用

包机制

包可以理解为文件夹,为了更好地组织类,用于区分类的命名空间

常用公司域名倒置作为包名,如com.baidu.www

包语句格式:

package pkg1[.pkg2[.pkg3...]]

用文件夹的路径理解就是该文件属于pkg1\pkg2\pkg3...\文件名

导入类的格式为:

import pkg1[.pkg2[.pkg3...]].classname
  • 支持通配符,如*,表示一个包内的所有类

JavaDoc

可对类、方法进行说明

在命令行使用javadoc -encoding UTF-8 -charset UTF-8 文件名

生成说明文档,打开index.html可以查看

也可以直接在IDEA 工具->生成javadoc

Scanner

包:java.util.Scanner,用于IO

基本语法:

Scanner s = new Scanner(System.in)

使用Scanner类的next()与nextLine()获取输入的字符串,读取前使用hasNext()与hasNextLine()判断是否有输入

public static void main(String[] args){     //创建一个扫描器        Scanner scanner = new Scanner(System.in);        System.out.println("使用next接收");        if(scanner.hasNext()) {            //判断是否有输入            String in = scanner.next();//接收            System.out.println(in);        }        scanner.close();//关闭扫描器    }
  • next()获取输入:输入从有效字符开始,空白符号之前的所有有效字符部分
  • nextLine():获得换行符前所有内容

判断

  • hasNext():是否有字符串
  • hasNextLine():是否有字符串(与nextLine对应)
  • hasNextInt():是否有整数
  • hasNextByte():是否还有Byte
  • hasNextFloat():是否还有Float
  • ...

输入

  • next()
  • nextLine()
  • nextInt()
  • nextFloat()
  • ...

关键词: 类型转换 数据类型 强制类型转换