目录
学前须知
什么是Java,Java的作用
Java是由Sun Microsystems公司与1995年推出的一门面向对象的程序设计语言。2021年Oracle公司收购Sun公司之后由Oracle公司负责Java的维护和版本的升级。其实,Java还是一个平台,由Java虚拟机和Java应用接口构成。
作用:1.Java高度健壮且非常安全
2.只编写一次代码,并在几乎每个计算机平台上运行它
需要用到的软件
IntelliJ IDEA
JDK
如何下载安装
官网下载IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains
JDK:Oracle 甲骨文中国 | 云应用和云平台
基础学习
标识符
在Java源程序中凡是程序员有权利自己命名的单词都是标识符
可标识的元素:类名,方法名,变量名,接口名,常量名
关键字
eg:public,class...
字面值
说白了就是数据,比如19,38,389,‘a’,true,false...
数据类型
作用:指导JVM在运行程序的时候给该数据分配多大的内存空间
整数型 | bite(1字节),short(2字节),int(4字节), long(8字节) | 1,2,3,4,5,,10 |
浮点型 | float(4字节),double(8字节) | 3.14 |
布尔型 | boolean(1字节) | true,false |
字符串型 | char(2字节) | “abc”,“中国人” |
字符型 | ‘A’,‘人’ |
注:1个字节=8个比特位,一个比特位就是一个二进制位
整数型:在Java语言中的“整数型字面值”被默认当做int类型来处理。要让这个“整数型字面值”被当做long类型来处理就要在后面添加l/L
浮点型:
float | 单精度 | 4个字节 |
double | 双精度 | 8个字节 |
在Java语言中,所以的浮点型字面值,默认被当做double类型来处理,要想该字面值当做float来处理,要在字面值后添加F/f或用强制类型转换
boolean类型中只有两个值:true,flase。
转换规则:
- 八种基本数据类型当中除了布尔类型之外剩下的7种类型之间多可以互相转换
- 小容量向大容量转换,称为自动类型转换,容量从小到大排序:
byte<short<int<long<float<double<char
注:任何浮点类型不管多少个字节,都比整数容量大。
在底层存储的时候boolean类型占用1个字节,因为实际存储的时候false底层是0,true底层是1。
变量
- 变量本质上是内存中的一块空间,这块空间“有数据类型”、“有名字”、“有字面值”。
- 变量包含三个部分:数据类型、名称、字面值
- 变量是内存中存储数据的最基本的单元。
变量的作用域:变量的有效范围
运算符
1、算术运算符:
+ | 求和 |
- | 相减 |
* | 乘积 |
/ | 商 |
% | 求余数【取模】 |
++ | 自加1 |
-- | 自减1 |
注:++运算符可以出现在变量前,也可以出现在变量后,无论前后,都自加1。
诺在后,这先做赋值运算,再对变量进行自加1
诺在前,则先进行自加1,再赋值。
public class Exercise01 {
public static void main(String[]args){
int i = 10;
int j = 3;
System.out.println(i + j);//13
System.out.println(i - j);//7
System.out.println(i * j);//30
System.out.println(i / j);//3
System.out.println(i % j);//1
System.out.println(++ i);//11
System.out.println(++ j);//4
System.out.println(-- i);//9
System.out.println(-- j);//2
}
}
2、关系运算符
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
注:关系运算符的结果一定是布尔布尔类型:true/false
public class demo1 {
public static void main(String[]args){
int a = 10;
int b = 11;
System.out.println(a > b);//false
}
}
3、逻辑运算符
& | 逻辑与 |
| | 逻辑或 |
! | 逻辑非 |
^ | 逻辑异或 |
&& | 短路与 |
|| | 短路或 |
public class demo02 {
public static void main(String[]args){
System.out.println(5 >3 & 5 > 2);//true
}
}
4、赋值类运算符
基本的赋值类运算符 | = |
扩展的赋值类运算符 | += |
-= | |
*= | |
/=、%= |
赋值类的运算符优先级:先执行等号右边的表达式,将执行结果赋值给左边的变量。
5、字符串连接运算符
●“+”在Java当中的两个应用:
(1)加法运算、求和
(2)字符串的连接运算
6、三元运算符
语法规则:布尔表达式 ?表达式1 :表达式2
控制语句
1、if
package com.nezha.javase;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.println("你是谁?");
Scanner in = new Scanner(System.in);
String name = in.nextLine();
if(name.equals("哪吒")){
System.out.println("csdn博客专家");
}else if(name.equals("云韵")){
System.out.println("哪吒老婆");
}else{
System.out.println("小菜鸡");
}
}
}
2、Switch
package com.nezha.javase;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
System.out.println("你是谁?");
Scanner in = new Scanner(System.in);
String name = in.nextLine();
switch (name){
case "哪吒":
System.out.println("csdn博客专家");
break;
case "云韵":
System.out.println("哪吒老婆");
break;
default:
System.out.println("小菜鸡");
}
}
}
3、for
private static void test04(){
String[] arr = new String[]{"哪吒","云韵","比比东","美杜莎"};
for (int i = 0; i<arr.length;i++) {
System.out.println(arr[i]);
}
}
4、while
package com.nezha.javase;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
test02();
}
private static void test02(){
System.out.println("哪吒多大?");
Scanner in = new Scanner(System.in);
int age = Integer.parseInt(in.nextLine());
while (age > 18){
age--;
}
System.out.println("哪吒今年"+age+"岁");
}
}