Java基础
常用CMD命令
盘符名称 + 冒号 说明:盘符切换 举例:E:回车,表示切换到E盘
dir
说明:查看当前路径下的内容
cd目录 说明:进入单级目录举例:cditheima
cd..
说明:回退到上一级目录
cd 目录1\目录2... 说明:进入多级目录举例:cditheimaVavaSE
cd\ 说明:回退到盘符目录
cls 说明:清屏。
exit 说明:退出命令提示符窗口
为什么要配置环境变量?
我们想要在任意的目录下都可以打开指定的软件,就可以把软件的路径配置到环境变量中
JAVA
1.切换盘符: 要先找到我们刚刚书写的代码
2.编译: javac是JDK提供的编译工具,我们可以通过这个工具,把当前路径下的HelloWorld.java文件编译成class文件
3.运行: java也是JDK提供的一个工具。 作用就是用来运行代码的。 运行当前路径下的HelloWorld.class这个文件。在运行的时候是不加后缀名的
基础语法
注释
单行注释 //注释信息
多行注释 / *注释信息 */
文档注释/ **注释信息 */
关键字
关键字特点 关键字:被Java赋予了特定涵义的英文单词 关键字的字母全部小写 常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观
class关键字是什么意思? class关键字表示定义一个类,后面跟随类名
字面量
告诉程序员:数据在程序中的书写格式
字面量类型 整数类型 小数类型 字符串类型 字符类型 布尔类型 空类型
\t 制表符 在打印的时候,把前面字符串的长度补齐到8,或者8的整数倍。最少补1个空格,最多补8个空格。
变量
在程序的执行过程中,其值有可能发生改变的量(数据)
数据类型变量名=数据值;
数据类型
整数 byte,short,int,long(在数据值的后面需要加一个L作为后缀)
浮点数float(在数据值的后面需要加一个F作为后缀),double
字符char
布尔boo;ean
整数和小数取值范围大小关系:double > float > long > int > short > byte
标识符
标识符:就是给类,方法,变量
由数字、字母、下划线()和美元符($)组成 不能以数字开头 不能是关键字 区分大小写
键盘录入
步骤一: 导包
步骤二: 创建对象
步骤三: 接收数据
ini复制代码import java.util.Scanner;
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
sc和i可以变
不同进制在代码中的表现形式
二进制:由0和1组成,代码中以0b开头 十进制:09组成,前面不加任何前缀 八进制:由07组成,代码中以0开头 十六进制:由09还有af组成,代码中以0x开头
project(项目)module (模块)package (包)class (类)
+是运算符,并且是算术运算符
a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式
加减乘+-*
除/
取模、取余%
隐式转换 取值范围的数值取值范围大的->数值范围小的 强制转换 取值范围的数值取值范围小的>数值范围大的
目标数据类型变量名=(目标数据类型)被强转的数据;
eg:
double a= 123;
int b = (int)a;
(三元运算符/三元表达式)格式 格式:关系表达式?表达式1:表达式2; 范例:求两个数的较大值 a> b?a: b;
原码、反码、补码 原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负 反码:正数的补码反码是其本身,负数的反码是符号位保持不变,其余位取反 补码: 正数的补码是其本身,负数的补码是在其反码的基础上+1
逻辑与& 0为false1为true
逻辑或| 0为false1为true
左移<< 向左移动,低位补0
右移>> 向右移动,高位补0或1
if
ini复制代码if (关系表达式){
语句体1;
}
else{
语句体2;
;}
...
else{
语句体n+1;
;}
switch
arduino复制代码switch(表达式)
{case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
default的位置和省略 case穿透 switch新特性 switch和if第三种格式各自的使用场景
for
ini复制代码格式:
for (int i = 1 ;i <= 1 ;i++ ){
System.out.println("Helloworld");
}
while
ini复制代码格式:
初始化语句;
while(条件判断语句)
{循环体语句;
条件控制语句;
}
do while
ini复制代码格式:
初始化语句
do{
循环体语句;
条件控制语句;
while(条件判断语句);}
break全部 结束整个循环
continue一次的 跳过本次循环,继续执行下次循环
数组
数组:是一种容器,可以用来存储同种数据类型的多个值
格式一:数据类型[]数组名范例:int [] array
格式二:数据类型数组名[]范例:int array []
数组的静态初始化 初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程 完整格式:数据类型 [] 数组名 = new 数据类型 []{ 元素1,元素2,元素3...}; 范例: int [] array = new int [][ 11,22,33};
范例: double [] array2 = new double [] ( 11.1,22.2,33.3);
Java内存分配
栈 方法运行时使用的内存,比如main方法运行,进入方法栈中执行
堆 存储对象或者数组,new来创建的,都存储在堆内存
方法区 存储可以运行的class文件
本地方法栈 JVM在使用操作系统功能的时候使用,和我们开发无关
寄存器 给CPU使用,和我们开发无关
只要是new出来的一定是在堆里面开辟了一个小空间
如果new了多次,那么在堆里面有多个小空间,每个小空间中都有各自的数据
方法
方法(method)是程序中最小的执行单元
方法定义
把一些代码打包在一起,该过程称为方法定义。
arduino复制代码public static 返回值类型 方法名 (参数){
方法体;
return 返回值;}
方法调用
方法定义后井不是直接运行的,需要手动调用才能执行,该过程称为方法调用
方法不调用就不执行 方法与方法之间是平级关系,不能互相嵌套定义
return 不能跟具体的值
方法重载
方法名一样,参数不同
类和对象
类(设计图):是对象共同特征的描述
对象:是真实存在的具体东西
在Java中,必须先设计类,才能获得对象。
scss复制代码public class 类名{
1、成员变量(代表属性,一般是名词)
2、成员方法(代表行为,一般是动词)
3、造器(后面学习)
4代码块(后面学习)
5、内部类(后面学习)
}
什么是封装? 告诉我们,如何正确设计对象的属性和方法原则: 对象代表什么,就得封装对应的数据,并提供数据对应的行为
private关键字 是一个权限修饰符 可以修饰成员(成员变量和成员方法)被private修饰的成员只能在本类中才能访问
针对于每一个私有化的成员变量,都要提供get和set方法
set方法:给成员变量赋值
get方法:对外提供成员变量的值
就近原则 谁离我近,我就用谁
this的作用? 可以区别成员变量和局部变量
arduino复制代码public class User{
private String username;
private String password;
public User(){}
public User(String username,String password)
{
this.username=username;
this.password=password;
}
//get和set
public void setUsername(String username)
{
this.username=username;
}
public String getusername()
{
retrun username;
}
}
StringBuilder
StringBuilder可以看成是一个容器,创建之后里面的内容是可变的 作用:提高字符串的操作效率
StringBuilder构造方法
public StringBuilder()
ini复制代码StringBuilder SB = new StringBuilder()
创建一个空白可变字符串对象,不含有任何内容
public StringBuilder(String str)
根据字符串的内容,来创建可变字符串对象
StringJoiner
Stringjoiner跟StringBuilder一样,也可以看成是一个容器,创建之后里面的内容是可变的作用:提高字符串的操作效率,而且代码编写特别简洁,但是目前市场上很少有人用
public StringJoiner (间隔符号)
创建一个StringJoiner对象,指定拼接时的间隔符号
ini复制代码StringJoiner sj = new StringJoiner("---");
public StringJoiner (间隔符号,开始符号,结束符号)
创建一个StringJoiner对象,指定拼接时的间隔符号开始符号、结束符号
ini复制代码StringJoiner sj = new StringJoiner("-","[","]");
浙公网安备 33010602011771号