展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

基础语法

  • debug
step over: 程序向下执⾏⼀⾏
step into: 进⼊⾃定义⽅法
step out: 跳出对应的⽅法
  • 标识符
概述:java程序的组成,⽐如类名、⽅法名、变量名等
标识符可以由字⺟、数字、下划线_ 、美元符($)组成,但不能包含%,空格等其他特殊字符,不能以数字开头 * 区分⼤⼩写 * 不能是java关键字
  • 关键字
是电脑语⾔⾥事先定义的,有特别意义的标识符,有时⼜叫保留字,关键字不能⽤作变量名、⽅法名、类名、包名和参数

# 关键字如下
boolean、byte、char、double、enum、float、int、long、short、void
private、protected、public、default
abstract、extends、class、interface、return、static、super
assert、break、case、try、catch、const、continue、do、else、final、finally、
for、goto、if、implements、import
instanceof、native、new、package
switch、synchronized 、this、throw、throws
transient、volatile、while
  • 访问修饰符
限定类、属性或⽅法是否可以被程序⾥的其他部分访问和调⽤的修饰符

# 如下
private < default < protected < public
  • ⾮访问修饰符
⽤来修饰或者辅助功能

# 例如
static、final、abstract、synchronized
  • 访问修饰符修饰方法

  • 访问修饰符修饰属性

  • 属性或者成员变量,都⽤private修饰,不⽤其他的,这个是java开发的约束

  • Java中public class与class的区别

在⼀个*.java的⽂件中,只能有⼀个public class的声明,有多个public则编译报错,其类名称必须与⽂件名称完全⼀致,但是允许有多个class的声明,如下在一个java文件中编写多个class案例

public class A{
   public static void main(String [] args){
       System.out.println("A");
   }
};
class B{};
class C{};
  • 只有public修饰的类,才能在包外部包可⻅;否则只是包内私有的类,类不能被其他包访问

  • 计算机基础

bit 位 ,即0或者1, 0101010110
byte字节,8位作为⼀个字节,字节是处理数据的基本单位
1 byte = 8bits
1KB = 1024 bytes
1MB = 1024 KB
1GB = 1024 MB
  • 基本数据类型
byte
  8位
  最⼤127,最⼩-128
  节省空间,占⽤int类型的四分之⼀
  默认 0
short
  16位
  最⼩-32768,最⼤32767
  int类型的⼆分之⼀
  默认是0
int
  32位
  最⼩ -2147483648,最⼤ 2147483647
  整数默认是int类型
  默认是0
long
  64位
  最⼩ -9223372036854774808,最⼤ 9223372036854774807
  默认是 0L,
  float 浮点
  单精度32位
  默认0.0f
double
  双精度 64位
  浮点数默认位double类型
  默认是0.0
boolean
  1位
  true或者false
  默认是false
char
  16位的 unicode字符,即两个字节表示⼀个字符
  最⼩是 \u0000 即0,做⼤ \ufff 即65535
  例⼦ char demo = 'A'

类型转换 double > float > long > int > short > byte
  ⼩转换到⼤,可以直接转换,⽽从⼤到⼩,需要强制转,会有精度丢失
  • 引⽤数据类型
Class创建的对象 或者 数组都是引⽤数据类型;String字符串对象,也是引⽤数据类型
  • 数组
⼀种数据结构,⽤来存储同⼀类型之的集合
通过⼀个整形下标可以访问数组中的每⼀个值, 从0开始计算
内存中存储相同数据类型的连续的空间

所有元素都初始化为0,boolean数组的元素会初始化为false
⼀旦创建了数组,就不能改变它的⼤⼩
数组需要初始化才可以操作,不能索引越界
  • 数组使用
// 声明数组变量时,需要指出数据类型和数组变量的名字
// 声明数组,但没有初始化
int [] numbers;

//使⽤new运算符创建数组,new int[n]将会创建⼀个⻓度为n的数组
int [] numbers2 = new int[100];

//可以使⽤这两种形式声明数组,推荐第⼀种
int [] numbers;
int numbers2 [];

//初始化,数组的⼤⼩就是初始值的个数
int[] numbers = { 1,2,3,4,5,6 };

//匿名数组
new int[] { 1,2,3,4,5,6 };
  • 一维数组
int [] numbers = {1,2,3};
String[] str=new String[2];
String[] str= {"apple", "xdclass", "cat", "dog"};
  • 多维数组
//创建并初始化
int [][] numbers = {[1,2,3],[4,5,6],[7,8,9]}
// 二维数组
int [][] numbers2 = new int[3][3];
  • 数据类型
基本数据类型 byte,short, int,long, float,doble,boolean,char

引⽤数据类型,即除了基本的变量类型之外的所有类型
  • 数据类型在内存中使⽤
基本的变量类型只有⼀块存储空间(分配在stack中)
    传递的时候直接是值传递
    对数据进⾏操作,不影响原先的值

引⽤类型有两块存储空间(⼀块在stack中,⼀块在heap中)
    ⼀个对象在内存中会请求⼀块空间来保存数据,访问对象的时候不会直接是访问对象在内存中的数据,⽽是通过引⽤去访问
    引⽤: 也是⼀种数据类型,保存的是内存的地址,引⽤是存储在 stack栈空间⾥⾯
    不同的引⽤可以指向同⼀个对象,⼀个对象可以有多个引⽤

  • 类变量(静态变量)
使⽤static声明的变量,可以直接使⽤ 类名.变量名访问
⼀个类不管创建了多少个对象,类只拥有类变量的⼀份拷⻉,数值默认值是0,布尔型默认值是false,引⽤类型默认值是null
⽣命周期: 在第⼀次被访问时创建,在程序结束时销毁
声明为public类型,⼀般这样声明 public static final
存储在⽅法区,和堆栈不⼀样的⼀个空间

public class Student{
   public static final String PREFIX = "我是叫";
}
  • 实例变量(属性)
需要使⽤对象.变量名才可以访问
对象被实例化之后,实例变量的值就跟着确定,可以是赋值,也可以是默认值
⽣命周期: 在对象创建的时候创建,在对象被销毁的时候销毁
访问修饰符可以修饰实例变量,⼀般是私有的,private修饰,然后通过⽅法来进⾏查看或者修改

public class Student { 
   //年龄
   private int age;

   //姓名
   private String name;
   
   public int getAge() {
       return age;
   }
   public void setAge(int age) {
       this.age = age;
   }
   public String getName() {
       return name;
   }
   public void setName(String name) {
       this.name = name;
   }
}
  • 局部变量
⽅法中的变量
声明在⽅法、构造⽅法、语句块、形式参数等
⽣命周期: 当它们执⾏完成后,变量将会被销毁
访问修饰符不能⽤于局部变量
局部变量没有初始值,必须初始化后才可以被使⽤

public class Student {
   //年龄
   private int age;
   //姓名
   private String name;
   
   public int getAge() {
       return age;
   }
   public void setAge(int age) {
       this.age = age;
   }
   public String getName() {
       return name;
   }
   public void setName(String name) {
       this.name = name;
   }
   
   //⾃我介绍⽅法
   public String introduce(){
       // 局部变量
       String content = PREFIX + name + ",年龄是" + age;
       return content;
   } 
}
  • ⽅法⼊参: 基础数据类型、引⽤数据类型
修饰符 返回类型 ⽅法名(参数类型 参数名,参数类型 参数名...){
 
   //⽅法体
   
   return
}
  • ⽅法返回类型
return xxx 具体类型
如果不⽤返回,则⽅法返回类型上写 void

# 如下
修饰符 void ⽅法名(参数类型 参数名,参数类型 参数名...){
 
 //⽅法体
 
}
  • 算术运算符
加法 +
减法 -
乘法 *
除法 /
取余 %
取余 %

⾃增1 ++
   a++ 就是 a=a+1
⾃减1 --
   a-- 就是 a=a-1

⾃增(++)⾃减(--)运算符是⼀种特殊的算术运算符
⾃增(++)⾃减(—)在变量左右有不同的意义
    在变量左边则先⾃增减操作,再进⾏表达式运算
    在变量右边则先进⾏表达式运算,在进⾏⾃增减操作
⾃增和⾃减运算符只能⽤于操作变量,不能直接⽤于操作数值或常量
  • 关系运算符(⽤于数值的⽐较,不能是字符串等其他⾮数值)
等号 == 
不等 != 
⼤于 > 
⼤于或等于 >= 
⼩于 < 
⼩于或等于 <=
  • 逻辑运算符
逻辑与 &&
    仅当两个操作数都为真,条件才为真
    有短路作⽤

逻辑或 ||
    任何两个操作数任何⼀个为真,条件为真
    有短路作⽤

逻辑⾮ !
    反转操作数,如果条件为true,则逻辑⾮运算符将得到false
  • 赋值运算符
赋值 =
加和赋值 + = 
减和赋值 - =
乘和赋值 * =
除和赋值 / =
  • 三⽬运算符
格式
   条件 ? 成功 : 否则
 
例⼦
   int age =5;
   age > 18: "成年": "未成年"
posted @ 2022-04-30 14:09  DogLeftover  阅读(29)  评论(0编辑  收藏  举报