关键词:
Java基础
一、hello world程序
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
二、运行Java文件
// Hello.java 为一个编写的Java源码文件
// 可执行文件javac是编译器,而可执行文件java就是虚拟机。
1. javac 把 Hello.java 编译成字节码文件 Hello.class
2. 用 java 命令执行这个字节码文件
// 终端执行Java文件
// 1. 在保存Hello.java的目录下执行命令javac Hello.java
up@up123:~/xxx/xxx$ javac Hello.java // 源码无误时不会用任何输出当前目录下会产生一个Hello.class文件
// 2. 执行Hello.class,使用命令java Hello
up@up123:~/xxx/xxx$ java Hello
// 给虚拟机传递的参数Hello是我们定义的类名,虚拟机自动查找对应的class文件并执行
// Java程序实际上是在Java虚拟机(JVM)中运行的,所以能达到跨平台的目的
注意:
-
一个Java源码只能定义一个
public
类型的class,并且class名称和文件名要完全一致; -
使用
javac
可以将.java
源码编译成.class
字节码; -
使用
java
可以运行一个已编译的Java程序,参数是类名。 -
javac.exe
会获得我们操作系统默认采用的编码格式,而不是java文件的编码
三、Java程序的基本结构以及命名规范
// Java是面向对象的语言,一个程序的基本单位就是class,class是关键字,这里定义的class名字就是Hello
public class Demo {
// ...
public static void main(String[] args) { // 方法名是main
// 方法代码...
}
}
类名命名要求:
- 类名必须以英文字母开头,后接字母,数字和下划线的组合
- 首字母大写,采用驼峰体,如 MainClass
方法命名要求:
- 类名必须以英文字母开头,后接字母,数字和下划线的组合
- 首字母小写,采用驼峰体,如 calculateNumber,goodElement
注释:
//
单行注释/* xxxx */
多行注释
四、基本数据类型
基本数据类型即CPU可以直接进行运算的类型
1、基本数据类型
- 整数类型:byte,short,int,long
- 浮点数类型:float,double
- 字符类型:char
- 布尔类型:boolean
2、数据类型在内存中的大小
计算机内存的最小存储单元是字节(byte),一个字节就是一个8位二进制数,即8个bit
数据类型 | 内存大小/字节(B) |
---|---|
byte | 1 |
short | 2 |
int | 4 |
long | 8 |
float | 4 |
double | 8 |
char | 2 |
3、基本数据类型详解
// 整型 byte short int long
对于整型类型,Java只定义了带符号的整型,因此,最高位的bit表示符号位(0表示正数,1表示负数)。各种整型能表示的最大范围如下
·byte:-128 ~ 127
·short: -32768 ~ 32767
·int: -2147483648 ~ 2147483647
·long: -9223372036854775808 ~ 9223372036854775807
// e.g.
int a = 10;
// 浮点型 float double
浮点类型的数就是小数,因为小数用科学计数法表示的时候,小数点是可以“浮动”的,如1234.5可以表示成12.345x10^2,也可以表示成1.2345x10^3,所以称为浮点数。
·float类型可最大表示3.4x10^38,而double类型可最大表示1.79x10^308
·float类型需要在数据后面加 f
·使用科学计数法 12.345x10^2 ===> 12.345e2
// e.g.
float a = 3.14f;
float a = 3.14e10f;
double a = 2.5343;
double b = -2.5343e5;
// 布尔类型 boolean
布尔类型 boolean 只有true和false两个值,布尔类型总是关系运算的计算结果:
// e.g.
boolean b1 = true;
boolean b2 = false;
// 字符类型 char
字符类型 char 表示一个字符。Java的 char类型除了可表示标准的ASCII外,还可以表示一个Unicode字符
·注意char类型使用单引号'',且仅有一个字符,要和双引号" "的字符串类型区分开。
// e.g.
char a = 'c';
// 常量 final
定义变量的时候,如果加上 final 修饰符,这个变量就变成了常量
// e.g.
final int a = 10;
PI = 3.14;
4、类型自动提升与强制转型
(1)类型自动提升
在运算过程中,如果参与运算的两个数类型不一致,那么计算结果为较大类型的整型。例如,short
和int
计算,结果总是int
,原因是short
首先自动被转型为int
int a = 5;
double b = 2.5;
System.out.print(a/b); // 结果为double类型
(2)强制转换
int a = 300; // 00000000 00000000 00000001 00101100
byte b = (byte) a; // 舍弃高位的3个字节 00101100
System.out.print(b); // 44 00101100
五、整型运算符
1、基本运算
// 基本运算
+、-、* // 加减乘
/ // 表示除法,结果为商的整数部分
% // 表示取模,获取除法的余数部分
// 简写
+=、-=、*=、/=
a += 1; // a = a + 1
// 自增、自减运算
++
--
++n表示先加1再引用n
n++表示先引用n再加1
2、移位运算
// >> <<
整数总是以二进制的形式表示,利用二进制对整数进行移位运算
// 当最高位为0时表示整数,为1时表示负数
int a=7; // 00000000 00000000 00000000 00000111
int b = a << 2; // b = 28 00000000 00000000 00000000 00011100
int c = a >> 2; // c = 1 00000000 00000000 00000000 00000001
int d = a << 29; // d = -536870912 11100000 00000000 00000000 00000000
3、位运算
位运算是按位进行与(&)、或(|)、非(~)和异或(^)的运算
& 与 运算的规则是,必须两个数同时为1,结果才为1
| 或 运算的规则是,只要任意一个为1,结果就为1
~ 非 运算的规则是,0和1互换
^ 异或运算的规则是,如果两个数不同,结果为1,否则为0
n = 0 & 1; // 0
n = 0 | 1; // 1
n = 0 ^ 0; // 0
n = 0 ^ 1; // 1
4、运算优先级
优先级从 高 到 低以下:
()
!
~
++
--
*
/
%
+
-
<<
>>
>>>
&
|
+=
-=
*=
/=
六、布尔类型运算符
对于布尔类型boolean
,永远只有true
和false
两个值
1、运算符
比较运算符:>,>=,<,<=,==,!=
与运算 &&
或运算 ||
非运算 !
运算优先级:
- 比较运算符:
>
,>=
,<
,<=
,==
,!=
- 与运算
&&
- 或运算
||
- 非运算
!
2、短路运算
&& // a>1 && b/0>1 如果a大于1为false,那么直接返回false,不会计算后面的条件,即使后面的条件会报错
|| // a>1 || b/0>1 如果a大于1为true,那么直接返回true,不会计算后面的条件,即使后面的条件会报错
七、字符类型
字符类型char
是基本数据类型,它是character
的缩写。一个char
保存一个Unicode字符
因为Java在内存中总是使用Unicode表示字符,所以,一个英文字符和一个中文字符都用一个char
类型表示,它们都占用两个字节
char c = 'a';
char d = '中'
八、字符串类型——引用类型
字符串类型是引用类型
注意要区分空值null
和空字符串""
,空字符串是一个有效的字符串对象,它不等于null
String s = "string";
String s1 = "";
String s2 = null;
System.out.print(s1 == s2) // false
九、数组类型——引用类型
// 定义一个数组
int[] array = new int[5]; // 使用默认值,长度为5
int[] ns = new int[] { 68, 79, 91, 85, 62 }; // 直接为数组设置元素,不用指定长度
·数组所有元素初始化为默认值,整型都是0,浮点型是0.0,布尔型是false;
·数组一旦创建后,大小就不可改变。
java基础
Java基础内容 a.Java程序入门 b.Java中的变量和表达式 c.Java中的控制流语句 d.Java中的数组 e.常用算法Java程序入门: 1.Java的组成 a.Java语言 b.Java虚拟机(JVM:JavaVirtualMachine) c.Java应用程序编程接口(JavaAPI:JavaApplicationProgrammingInterfa... 查看详情
java基础-内部类
Java基础,简单小结Java基础,简单小结 查看详情
重学java基础第二十三课:java基础注释
java最强最新知识体系总结(2021版)
一、Java基础知识1、基础知识分类内容链接Java基础【Java知识点详解1】缓存链接1Java基础【Java知识点详解2】动态代理链接2Java基础【Java知识点详解3】序列化与反序列化链接3Java基础【Java知识点详解4】泛型链接4Java基础【Java知识... 查看详情
零基础学java—java基础知识
【零基础学Java】—Java基础知识(四)👏芳华正茂始少年👏👏时光正好👏👏👏未来可期一、Java转义字符publicclassChange publicstaticvoidmain(String[]args) //制表位\t实现对齐功能System.out.println 查看详情
java入门笔记1——基础概念和基础语法
参考书:《Java语言程序设计与数据结构(基础篇)》——梁勇文章目录一、基础概念1.Java语言规范、JDK、JRE、JVM、IDE2.Java的加载与执行3.java中的源文件名、类名和main方法4.关于packet... 查看详情
java基础面试java基础问题
Java基础问题1.==和equals的区别是什么?2.两个对象的hashCode()相同,则equals()也一定为true,对吗?3.final在java中有什么作用?4.String属于基础的数据类型吗?5.Java中操作字符串都有哪些类?它们之间... 查看详情
java基础(十五):异常处理(代码片段)
Java基础系列文章Java基础(一):语言概述Java基础(二):原码、反码、补码及进制之间的运算Java基础(三):数据类型与进制Java基础(四):逻辑运算符和位运算符Java基础(五):流程控制语句Java基础(六):数组Java... 查看详情
java基础java基础语法
一、内容注释关键字标识符常量、进制和进制转换变量数据类型和类型转换运算符语句 二、注释注释概述用于解释说明程序的文字Java中注释分类格式单行注释格式://注释文字多行注释格式:/*注释文字*/文档注释格式:/**... 查看详情
java基础
java基础基本数据类型byte/8----------------------->Bytechar/16---------------------->Charactershort/16--------------------->Short(java8中缓存池的默认大小-128~127)int/32------------------------>Integer(java8 查看详情
java基础:java基础之三大特性
我是ABin-阿斌:写一生代码,创一世佳话,筑一览芳华。如果小伙伴们觉得不错就一键三连吧~点击此处跳转:Java三大特性:封装,继承与多态 查看详情
java基础:java基础之三大特性
我是ABin-阿斌:写一生代码,创一世佳话,筑一览芳华。如果小伙伴们觉得不错就一键三连吧~点击此处跳转:Java三大特性:封装,继承与多态 查看详情
零基础如何迅速学好java
对于零基础的朋友来说,能够迅速的学好Java,那将是一件特别有成就感,也特别有快感的事情,但是零基础如何迅速学好Java?这就是零基础朋友特别苦恼的问题,你在学Java的时候有什么秘招可以分享吗?今天长沙尚学堂小编... 查看详情
java基础学习
java基础学习 (一)Java基础 1.1Java语言特点 1.面向对象(封装,继承,多态) 2.平台无关性(Java虚拟机实现平台无关性,一次编译,到处运行) 3.简单易学(Java的面向对象更接近人的语言习惯) 4.安... 查看详情
零基础学java步骤有哪些?
零基础学Java步骤有哪些?对于零基础的学员来说,如何从基础开始逐渐深入学习,最后成为一名合格的Java开发人员非常重要,下面就给大家罗列一下学习步骤: 第一阶段:Java基础以及Web开发基础—小程序项目阶段,让学员... 查看详情
第3篇-java基础
第3篇-JAVA基础每篇一句 :目标是给梦想一个期限,行动与坚持就是实现梦想的过程初学心得:遇到困难或问题,它不是休止符,而是引向你如何解决问题的标识(笔者:JEEP/711)[JAVA笔记|时间:2017-03-26|JAVA基础Ⅱ]上篇回顾上篇文... 查看详情
java基础--java入门
IsCoder标记:Java基础,Java环境配置一.Java环境配置JavaDevelopKit(JDK安装)系统环境变量设置(JAVA_HOME)Java源程序编辑工具Java编译运行命令运行经典的HelloWorld程序1.1JDK安装JDK,就是甲骨文公司提供给我们的Java开发工具包,包括最常用的Javac.ex... 查看详情
java基础|debug模式及基础练习
⭐本专栏旨在对JAVA的基础语法及知识点进行全面且详细的讲解,完成从0到1的java学习,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握JAVA编程,同时为后续的框架学习,进阶开发的代码能力打下坚实的基础。 查看详情