作者简介:哪吒,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家 ,专注Java硬核干货分享,立志做到Java赛道全网Top N。
姐妹篇,Java基础教程系列,目前已经700+订阅,CSDN最强Java专栏,包含全部Java基础知识点、Java8新特性、Java集合、Java多线程、Java代码实例,理论结合实战,实现Java的轻松学习。
姐妹进阶篇,Java基础教程(进阶篇),包含Java高并发、Spring、MySQL等Java进阶技术栈。
Spring Boot 进阶实战,SpringBoot从零到壹,一站式学习专栏。
全部订阅,可加入Java学习星球,完成Java从入门、实战、进阶全方位的Java知识体系学习。
面试福音:10万字208道Java经典面试题总结(附答案)。
目录
一、主方法
二、用static修饰的方法就是静态方法
三、编译java文件
1、通过javac编译java文件
2、执行编译后的java文件
3、如何运行class文件中的main方法
四、数据类型
1、四种整型
2、浮点型
3、char
4、boolean
五、数据类型默认值
1、基础数据类型默认值
2、代码实例
六、大数值
七、装箱与拆箱
八、特殊的转义字符
九、数据类型之间的转换
public static void main(String[] args) {
}
在main中使用了两个修饰符public和static,public修饰符使它可以从应用程序的任何地方访问被访问,静态修饰符使它成为一个类方法,可以直接用类名进行调用。
返回值为void,因为这个访问不需要返回值。
它的名字是main,参数是String[] args。
需要插图
package com.nezha.javase;
public class Test {
private void test(){
System.out.println("你好,我是哪吒");
}
public static void main(String[] args) {
Test.test();
}
}
可以使用类名.方法名的形式访问static方法,但是不能访问非静态方法。
javac Test.java
编译后的文件Test.class
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.nezha.javase;
public class Test {
public Test() {
}
public static void main(String[] var0) {
System.out.println("hello world");
}
}
java Test
输出结果:hello world
假设如下目录有个class文件,并且里面有main方法:
E:\nezha\JavaseProject\com\nezha\javase\Test.class
首先进入cmd命令行:
cd /d E:\nezha\JavaseProject
java com\nezha\javase.Test
也可以带参数运行:
java com.nezha.javase.Test com.nezha.javase.Test nezha
Java是一种强类型的语言,有8种基本类型,其中4种整型,2种浮点型,1种用于表示Unicode编码的字符单元的字符类型char、1种boolean型。
通常情况下int最常用,byte和short类型用于特定的应用场合,例如底层的文件处理或需要控制占用存储空间量的大数组。
长整型有一个后缀L或l(如123456789L)。十六进制数值有一个前缀0x或0X(如0xFFFF)。
八进制有一个前缀0,例如010表示八进制中的8。
double的数值精度是float的两倍,double一般也可称作双精度浮点型。
一般都使用double,不使用float。
char类型表示单个字符。
char类型的字面量值要用单引号括起来。
例如'A'是编码值为65所对应的字符常量。它与"A"不同,"A"表示一个字符串A。
char类型可以表示为十六进制值,范围从\u0000到\Uffff。
boolean类型只有两个值,true和false。
一般用于逻辑判断、返回值。
5、BigInteger与BigDecimal
如果基本的整数和浮点数精度不足以满足需求,那么可以使用BigInteger与BigDecimal。
BigInteger与BigDecimal可以处理包含任意长度数字序列的数值。BigInteger实现任意精度的整数运算,BigDecimal实现任意精度的浮点数运算。
BigInteger的加减乘除不同于Integer的+、-、*、/,BigInteger是通过API的形式实现的。
Java不能通过编程实现运算符的重载。
使用BigInteger类的程序员无法重定义+和*运算符来提供 BigInteger的add和multiply运算。
Java重载了字符串的+,来完成字符串的拼接。但没有重载其它运算符。
数据类型 | 默认值 |
int | 0 |
short | 0 |
long | 0 |
byte | 0 |
double | 0.0 |
float | 0.0 |
char | 0 |
boolean | false |
package com.nezha.javase;
public class Test {
private static int i;
private static short s;
private static byte b;
private static long l;
private static char c;
private static float f;
private static double d;
private static boolean bb;
public static void main(String args[]){
System.out.println(i);//0
System.out.println(s);//0
System.out.println(b);//0
System.out.println(l);//0
System.out.println("CSDN"+c+"哪吒");//CSDN 哪吒
System.out.println(f);//0.0
System.out.println(d);//0.0
System.out.println(bb);//false
}
}
char 默认值不是空;
char 类型默认初始化的值是 \u0000,即空格。
如果基本的整形和浮点数精度不能满足需求,可以使用java.math包中的BigInteger和BigDecimal。
BigInteger实现了任意精度的整数运算。
BigDecimal实现了任意精度的浮点数运算。
可以使用BigInteger.valueOf将整数类型转为BigInteger。
int a = 100;
BigInteger bigInteger = BigInteger.valueOf(a);
BigInteger中不能使用+、-、*、/。
只能使用add。
在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:
Integer i = new Integer(10);
而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了:
Integer i = 10;
这个过程中会自动根据数值创建对应的 Integer对象,这就是装箱。
那什么是拆箱呢?顾名思义,跟装箱对应,就是自动将引用类型转换为基本数据类型:
Integer i = 10; //装箱
int n = i; //拆箱
简单一点说,装箱就是 自动将基本数据类型转换为引用类型;拆箱就是自动将引用类型转换为基本数据类型。
下表是基本数据类型对应的引用类型:
转义字符 | 含义 |
\b | 退格 |
\t | 制表 |
\n | 换行 |
\r | 回车 |
\" | 双引号 |
\' | 单引号 |
\\ | 反斜杠 |
在Java中,允许进行数值转换,有些情况会丢失一部分精度。
强制类型转换的一般表示形式为:
double d = 10.2;
int i = (int)d;
System.out.println(i);//10
强制类型转换通过(int)进行double强转int,通过截取小数部分将浮点值转换为整形,会丢失一部分精度。
实线表示无信息丢失的转换。
虚线表示有精度丢失的转换。
本文收录于,Java基础教程系列。
目前已经700+订阅,CSDN最强Java专栏,包含全部Java基础知识点、Java8新特性、Java集合、Java多线程、Java代码实例,理论结合实战,实现Java的轻松学习。
哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师。