Java的基本语法

  #一个字符的空格
  #大约三个字 符的空格

1.字面量

1.特殊值的书写

 1.\n  换行   \t 一个tab

2.变量

1.变量的注意事项

1.变量的范围只在{}之间
2.定义可以不给赋值,但是使用之前必须赋值

2.变量的原理

1个字节(B)=8bit
1KB=1024b
1M=1024KB

3.进制转换

1.十转二 :除二取余法
2.二转十:

OB,O,OX 分别表示 二,八,十六进制

3.数据类型

1.基本数据类型

在这里插入图片描述


3.数据类型转换

   1.自动类型转换

      范围小的可以赋值给范围大的
在这里插入图片描述

   2.表达式的自动类型转换

在这里插入图片描述

   3.强制类型转换

      把大范围的变量转换成小范围的变量(可能会数据丢失)

4.运算符

   1."+"做连接符

      能算则算,不能算则拼接起来

   2.自增运算符

      ++1 ->先+后使用
      1++ ->先使用后+

   3.赋值运算符

       += ,-=等等

   4.关系运算符

       >=,<=,>等等 结果为True或者False

   5.逻辑运算符

      &与 两个都为Ture才为True
      |或 一个为Ture就为True-----> (左右都执行)
      逻辑异或 两个不同结果为True------> (左右都执行)
      &&逻辑与 左边为false,-------->右边则不执行
      ||逻辑或 左边为true,---------->右边则不执行

   6.三元运算符

      表达式?值1:值2

   7.运算符的优先级

在这里插入图片描述

4.分支结构

   1.If

      三种格式

   2.switch及其switch穿透性

在这里插入图片描述

注意事项:1.如果最后都没有符合的执行default
2.表达式支持byte,short,char,int,String,不支持double,float,long
3.case中不支持变量
4.不要忘记Break否则会一直往下执行(break的穿透性)

5.循环结构

   1.for循环

   2.while循环

   3.do-while循环

      先执行再判断

   4.continue,break

      break结束循环,continue结束本次循环



6.数组

   1.静态初始化数组

       //静态初始化数组
       double[] s=new double[]{1.3,9.9,322.9};
       //简化版
       double[] s1={1.3,9.9,322.9};

数组名表示的是数组的地址,数组是引用类型
也可以是 数据类型 数字名[]或者数据类型[] 数字名

   2.动态初始化数组

      int[] arr=new int[3]
      arr[0]=1
在这里插入图片描述

注意:int[] arr=new int[3]{30,40,50}错误的,内容和数字不能同时存在

   3.数组的内存图

在这里插入图片描述

      1.两个变量指向同一个数组

      两个变量指的是同一个堆内存的数组,一改既改

   4.数组的常见问题

      1.越界问题
      2.数组变量指向为空,查询数组长度或者获取数组值会报错

   5.DeBug工具的使用

      1.先标记点
      2.进行Debug进行测试

7.方法

   1.方法的格式

在这里插入图片描述

   2.方法调用的内存图

在这里插入图片描述

   3.方法的传参机制(值传递)

      1.基本类型的传参---->传递的参数是值
      2.引用类型的参数传参---->例如:数组传参是地址

   4.方法重载

      方法名相同,形参列表不同(参数个数,位置,类型)–>跟返回值等无关


8.面向对象

   1.注意事项

1.在一个文件中可以定义多个类,但是只能有一个public的类,并且这个public的类的名字为文件的名字
2.如果没有赋值的话会有默认值,byte,short,int,long为0-----double,float为0.0----boolean为false–String为null

   2.对象在内存中的运行机制

   3.存在垃圾回收机制

      会定期的进行清理

   4.构造器

1.有参构造器,无参构造器
2.无参构造器默认有的,如果写了有参构造器无参构造器就没有了,想使用自己建立

   5.this关键字

      this代表当前对象的地址
在这里插入图片描述

   6.JavaBean

       也可以被成为实体类,其对象用于封装在程序中的数据

书写要求:
成员变量用private,提供相应的Setxxx()和Getxxx()方法
必须提供一个无参构造器

在这里插入图片描述

9.API

   1.String

      代表字符串类型的类,一旦创建不可修改。

可以修改是因为在堆内存中选择了新的字符串对象

     1.创建方式
 //方式一:使用双引号得到字符串对象
      String s1="wo+1";
      System.out.println(s1);
      //方式二:
      // 1创建一个空白字符串对象,不包含任何内容
      String s2=new String();
      // 2.根据传入内容
      String s3=new String("1233");
      // 3.根据字符数组
      char[] a={'1','2','3'};
      String s4=new String(a);
      // 4.根据字节数组
      byte[] b={'1','2','3','4'};
      String s5=new String(b);
     2.原理

1.以双引号-“”创建的是放在堆中的常量池中的,重复的只会有一个
2.以对象创建的是在堆中创建不止一个
原理图如下
在这里插入图片描述
在这里插入图片描述

     3.字符串比较

其中==是比较的字符串的地址
如果想进行比较需要用equal,或者用equalignorse------>忽略大小写

     4.字符串常用API

在这里插入图片描述

   2.ArrayList

     1.基本使用

List.add()---------------->添加内容
List.add(1,内容)----------->指定位置添加

     2.泛型

一般都要添加,但是泛型不支持基本类型,支持引用类型,也就是只能在里面添加这个类型的数据

     3.常用API和遍历

请添加图片描述

10.static

   1.Static静态关键字

1.可以修饰成员变量和成员方法
2.static表示在内存中只有一份,可以被共享和修改
3.属于这个类
4.静态成员变量使用------------------------类名.变量

   2.Static修饰成员变量的原理

在这里插入图片描述

   3.Static修饰方法和原理

注意:同一个类中,访问静态方法,类名可以省略不写

在这里插入图片描述

注意事项:
  1. 静态方法只能访问静态成员,不能"直接" 访问实例成员
  2. 静态方法中不能出现this关键字
  3. 由于工具类不需要创建对象,所以建议将构造类私有化

   3.代码块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值