基础语法


  • 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: "成年": "未成年"