Java基础

标识符

标识符由数字,字母,下划线,及美元符组成

注意:数字不能成为标识符的开始,如:1ac

关键字:具有特殊含义的标识符,如:int,void,main,string

用户自定义标识符:是由用户按标识符构成规则生成的非保留字的标识符,如:abc,name

命名规则:Java类的命名规则:类名首字母大写,如果有多个单词组合,则每个单词大写(大驼峰命名法):例如,HelloWorld

小驼峰命名法:首个单词字母小写,后面的单词首字母大写

例如:helloWorld

注意:Java严格区分大小写,如;name和Name表达的意思不一样

//单行注释

/*

*多行注释

*/

/**

*文档注释

*/

//int name

Java严格区分大小写,是强类型。

三,声明

变量:用来存放东西的

变量命名:

语法:变量类型 变量名字 赋值符号 值;

int age ;//声明变量,不赋值

age = 32;//声明后赋值

Srting name = “大锤”; //声明变量,赋值

//修改变量值(重新赋值)

age = 56;

name = “张三”;

int 2num;//非法命名

n1 = 2;

n2 = 3;

n3 = 4;

int n1,n2,n3;//批量命名(不推荐)

n1 = n2 = n3 =58;

int num1 = 3,num2 = 4;

变量的作用域:

全局变量:定义在方法(函数)和代码块之外的变量

局部变量:定义在方法或者代码块之间的变量

静态变量

static int number;

五,常量

常量:在某个程序中不改变值的量

常量值又称为字面常量,通过数据直接表示的,因此有多种数据类型。

整型int占4个字节,32位,大于32,用long长整型,占64位。后面加l或L。

常量一旦被赋值定义,则不可再被修改

成员常量

final double PI = 3.14

静态变量

final static float price = 99.99F;

成员常量和静态常量在再定义的同时必须要初始化

常量命名规则

1,常量名应该全部大写

2,当常量命名由多个单词组成,用下划线分割

如HTTP_CODE

java中的数据类型

1,基本数据类型(8)种

byte(字节型)、short(短整型)、int(整型)、long(长整型)、

float(单精度浮点型)、*double(双精度浮点型)*(后加F或者f)、Java小数默认double

char(字符型),字符型使用单引号引起来,当值为整型时,不需要单引号

boolean(布尔型)Java中,布尔型只有ture和false两种。

2,引用数据类型

除了基本数据类型,其他都是引用数据类型。如String、数组等

null类型:空类型

package com.zpark.day02;

/** * @PackageName: com.zpark.day02 * @ClassName: dEMO02 * @Description: * @author: RZS * @date: 2022/8/26 11:01 */ public class Demo02 {

static String name;

public static void main(String[] args) { /** * Java中的数据类型: * 1、基本数据类型(八种) * byte(字节型)、short(短整型)、int(整形)、long(长整型)、float(单精度浮点型)、double(双精度浮点型) * char(字符型)、boolean(布尔型) * 2、引用数据类型 * 除了基本数据类型,其他全部是引用数类型,如:String、数组等 */ // 字节型 byte by = 127; // System.out.println((byte) (by + 1)); // 短整型 short sh = 56; // 整形 int num = 78946; // 长整型,注意: 需要早长整型末尾添加L或者l long number = 56L;

// 单精度浮点型, 注意: 需要早长整型末尾添加F或者f ​ float fl = 3.14F; ​ float fl1 = 3.1415888888879874243246564564561129f; // 精度丢失 ​ System.out.println(fl1);

// 双精度浮点型,java中小数默认是double类型 ​ double db = 3.14159;

// 字符型, 字符型的值使用单引号引起来,当值为整形时不需要单引号 ​ char ch1 = 3; ​ char ch2 = 'a'; ​ char ch3 = 97; ​ System.out.println(ch1); ​ System.out.println(ch3);

// 布尔值类型,注意:Java中布尔值类型只有true和false两个值 ​ boolean bool1 = true; ​ boolean bool2 = false;


// null类型 ​ String str = null;

System.out.println(name); ​ // int a = null; 报错 } }

关系运算符:

   ==:对等于

   !=:不等于

     >:大于

    <:小于

      >=:大于等于

       <=:小于等于

    关系运算符的结果为布尔值类型

equals(obj)方法和 == 的区别:

equals方法比较的是两个对象的内容是否相等

  == 比较的是两个对象再内存中存放的地址是否为同一个

next()与nextLine()方法的区别:

 1、当遇到空格或者回车的时候 next()方法停止读取

 2、当遇到回车的时候 nextLine()方法停止读取,读取整行数据

单分支结构:

            if () {

}

         双分支结构

         if语句:

         if (条件表达式) {

        条件为true执行

         代码块

         } else {

      条件为false执行

            }

if嵌套

         *      if(boolean){

         *          if(boolean){

         *              ....

         *          }

         *      }else{

     *        if(boolean){

        …..

         

           }

while循环:

 语法:

  while (循环条件) {

   循环体

  }

do.while循环

 语法:

 do{

 循环体

  } while (循环条件);

 while循环与do...while循环的区别:

  1. while是先判断后执行,do...while循环是先执行然后再判断
  2. do...while循环至少执行一次
  3. while循环与do...while的特点:都是循环执行某一语句,循环次数素不固定

 for循环:

 语法:

for (表达式1; 表达式2; 表达式3) {

循环体

}

特点:循环次数固定

 foreach语法:

  for(迭代变量类型 变量的名字 :需要遍历(迭代)的对象){

 语句块;

    }

 定义方法的语法:

 修饰符  返回值类型   方法名(参数1,参数2...) { 方法体... }

return关键字的作用:1、结束方法的执行。2、将方法的执行结果返回给调用者

 方法(函数)的类型:

  1. 无参无返回值

修饰符  void  方法名(){ 方法体 }

  1. 无参有返回值

修饰符   返回值类型   方法名(){ 方法体}

  1. 有参无返回值

 修饰符   void   方法名(参数1, 参数2,....){ 方法体}

  1. 有参有返回值 

修饰符   返回值类型  方法名(参数1, 参数2,....){ 方法体}

 比较两个数的大小,将大的值返回回去

@param num1

@param num2

@return 返回最大值

定义方法:

比较两个数大小,返回布尔值

方法调用

  1. 通过 对象.方法名字(参数)
  2. 类名.方法(参数)
  3. 方法(参数)

调用非static关键字修饰的方法,语法:对象.方法(参数)

调用被static修饰的方法,语法:类名.方法(参数)

 方法重载:

            重载就是在一个类中,有相同的函数名称,但参数列表不相同的方法。

        注意:

            方法重载只与方法名字和参数列表有关,与方法返回值类型无关

        方法签名:方法名字 + 参数列表

        什么是程序?

        答:程序 = 算法 + 数据结构

修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。

返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。

方法名:是方法的实际名称。方法名和参数表共同构成方法签名。

参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。

方法体:方法体包含具体的语句,定义该方法的功能。

方法的作用及特点:

1、封装一段特定的业务逻辑功能

2、尽可能独立,一个方法只干一件事

3、方法可以被反复多次的调用

4、减少代码的重复,有利于代码的维护,有利于团队的协作

数组定义:

用来存放相同类型的一组数据

数组下标从0开始,对数组元素进行操作是通过数组的下标(索引)

  数组一旦被创建,则数组的长度不可被修改

  语法:

  静态创建数组

  数据类型[] 数组名 = {值1,值2....}

   数据类型 数组名[] = {值1,值2....}

 动态创建数组

数据类型[] 数组名 = new 数据类型[数组长度]

数据类型 数组名[] = new 数据类型[数组长度]

静态创建数组,特点:创建数组的同时给数组元素赋值

动态创建数组,特点创建数组时指定数组的长度

数组元素必须是相同类型的,不允许出现混合类型。

数组元素赋值:语法,数组名[索引] = 值

数组的长度获取方式,array.length

初始值 

int 初始值为0

double初始值为0.0

boolea初始值为false

char的初始值为空格的编码

string的初始值null

data的初始值为null

Demo初始值为null

引用数据类型数组初始值为null

二维数组

两种初始化形式:**

​格式1、动态初始化**

```java

数据类型 数组名[][] = new 数据类型[m][n]

数据类型[][]  数组名 = new 数据类型[m][n]

数据类型[]   数组名[] = new 数据类型[m][n]

​格式2、 静态初始化**

```JAVA

数据类型[][]  数组名 = { {元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....};

Arrays

Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而“不用”使用对象类调用(注意是“不用”,而不是“不能”)。

​Arrays类具有以下常用的功能:

**给数组赋值:**通过调用fill方法。

​**对数组进行排序:**通过sort方法。

​**比较数组:**通过equals方法比较数组中元素的值是否相等。

**查找数组元素:**通过binarySearch方法能对排序好的数组进行二分查找法操作。

**将数组转为字符串输出:**通过toString方法实现。

浅拷贝这个是系统提供的拷贝方式,也是我们推荐使用的拷贝方式,它是浅拷贝,也就是说对于非基本类型而言,它拷贝的是对象的引用,而不是去新建一个新的对象。通过它的代码我们可以看到,这个方法不是用java语言写的,而是底层用c或者c++实现的,因而速度会比较快

数组扩容与缩容

数组扩容与缩容的实质:就是创建一个新的数组,新数组的长度比原来的数组(大,扩容,小,缩容),然后将原来数组中的内容全部拷贝到新的数组中,最后将新数组重新赋给原来的数组。

稀疏数组

**稀疏数组介绍:**

​ 当一个数组中大部分元素为0时,或者为同一值的数组时,可以使用稀疏数组来保存该数组。

**稀疏数组的处理方式是:**

​ 1、 记录数组一共有几行几列,有多少个不同的值。

​ 2、 把具体有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模。

**稀疏数组定义:**

​ 稀疏数组可以看做是普通数组的压缩,但是这里说的普通数组是值无效数据量远大于有效数据量的数组。

冒泡排序

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

package com.zpark.day10;

import java.util.Arrays;

public class Demo05 {

    public static void

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值