Java入门基础知识点

第一章、Java语言简介(1995 詹姆斯.高斯林)

一、运行过程

  1. 编写源程序
  2. 编译源程序
  3. 运行

二、用记事本开发Java程序

  1. 使用记事本编辑.java源程序

  2. 用javac命令编译,生成.class文件

  3. 用java命令运行.class文件

    三、Java跨平台原理

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F3d0F516-1655948033725)(C:\Users\sj154\AppData\Roaming\Typora\typora-user-images\1652835457911.png)]

    四、Java程序结构

    结构如下:

        public class  类名{
           public static void main(String[] args){
               System.out.println("`输出内容`"));
           }
        }  
    

    注意事项:

    1. 类名与文件名完全一样,首字母大写

    2. main()程序入口,四要素必须不可少

    3. System.out.println()从控制台输出信息,S大写

    4. {和}一一对应,缺一不可

      转义符:

      \n:换行 \t:缩进

      原理: 源码编译成字节码文件(class文件) ,在将字节码文件转化成可以被机器识别的机器码

      五、Java程序的注释

      单行注释:以”//“开始

      多行注释:以”/“开头,以”/“结尾

      文档注释:以”/**“开头,以”*/“结尾

      六、编码规范

      必要性:

      ​ 基本规则

      ​ 专业化

      1、一行只写一条语句

      2、{}的使用及位置

      3、代码缩进

      七、idea开发Java程序的步骤:

      1、创建Java项目

      2、创建Java源程序

      3、编译Java源程序

      4、运行Java程序

      第二章、变量和数据类型

      一、变量命名规则

      1、字、下、美、人、数、驼峰命名法有意义

      2、不能使用关键字,如public、class等,全部小写

      标识符:是指用来标识某个实体的一个符号。

      Java常用的数据类型:

      ​ 数值:

      ​ 整形:byte: 1字节8位 -128~+127

      ​ int: 4字节32位 -231~231-1

      ​ short、2字节16位 -215~215-1

      ​ long 8字节64位 -263~263-1

      ​ 浮点型:double: 8字节64位浮点数

      ​ float:4字节32位浮点数

      ​ 非数值型:

      ​ char

      ​ boolean

      ​ String

      String不是基本数据类型,是引用数据类型,它是Java提供的一个类。

      二、变量声明及使用

      变量:指在程序运行中可以变的量。

      第一步:声明变量:数据类型 变量名 如:int age;

      第二步:赋值:变量名 = 数值 如:age = 10;

      第一步和第二步合并:数据类型 变量名 = 数值 ; int age = 10;

      第三步:使用变量,

      语法格式:

      ​ 【访问修饰符】 变量类型 变量名 [= 初值];

      三、常量

      定义:在程序运行中值不能改变的量

      代码如下:

      final int NUM=10;
      final double PI = 3.14;
      int r = 2;
      double area = PI * r * r;
      

      使用常量的优点:

      ​ 比较安全

      做法:

      1. 常量名通常大写

      2. 不同字符使用下划线分隔

      3. 只能被赋值一次,通常定义时间即对其初始化

        四、Scanner的使用

        第一步:导入Scanner类

        第二步:创建Scanner对象

        第三步:获得键盘输入的数据

        代码:

        import java.util.*;
        public static void main(String[] args){
               Scanner input= new Scanner (System.in)
               int now = input.nextlnt();
        }
        

        五、数据类型转换

        1、自动类型转换规则

        1)如果一个操作数为double型,则整个表达式可提升为double型

        2)满足自动类型转换的条件

        a、两种类型要兼容

        数值类型(整形和浮点型)互相兼容

        b、目标类型大于源类型,如:double大于int

        2、强制类型转换规则

        ​ 代码:

        int b = (int)10.2;
        double a = 10;
        int c = (int)a;
        

        高级别的类型赋值给低级别类型时,必须进行强制类型转换

        六、运算符

        1、赋值运算符 “=”

        变量名 = 表达式;

        表达式就是符号与操作数的组合

        2、算术运算符

        ​ 基本的算数运算符(+、-、*、/、%、++、–)

        ​ 复合运算符(+=、-+、*=、/=、%=)

        3、关系运算符

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

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dq6X9Lzb-1655948033727)(C:\Users\sj154\AppData\Roaming\Typora\typora-user-images\1653006525005.png)]

        注意点:

        ​ 1)=为赋值运算符,==为等于运算符

        ​ 2)关系表达式的结果为布尔值

        ​ 3)>、<、>=、<=运算符的优先级别高于==、!=

        ​ 4)>、<、>=、<=运算符只支持数值类型的数据比较

        4、逻辑运算符

        短路与&&

        规则:两个操作数都是true,结果才是true;如果第一个为false,结果为false。

        短路或||

        规则:两个操作数一个是true,结果就是true;如果第一个为false,还要看第二个还要判断。

        非!

        规则:操作数为true,结果为false

        ​ 操作数为false,结果为true

        如果第一个操作数已经能确定表达式的值,第二个操作数就不必计算了。

        ​ 优先级:!> &&>||

        5、条件运算符(三元运算符)

        条件 ? 表达式1(true) : 表达式2(false)

        优先级:

        赋值运算符的优先级最低

        单目运算符的优先级最高 ! ++ –

        算术运算符 > 关系运算符 > 条件运算符 > 逻辑运算符 >赋值运算符

        () ! ++ – * / + - > < >= <= == !== 三目 && || =

        第三章、流程控制(用来控制程序中各语句的执行顺序)

        一、选择结构

        1、if语句的语法:

        ​ if(条件){

        ​ 语句

        }

        if选择结构是根据条件判断结果选择不同的处理

        流程图:逐步解决指定问题的步骤和方法的一种图形化表示方法

        运算符的优先级编写条件

        1. )最高级的优先级:()

        2. )最低的优先级:=

        3. )优先级:!>算术运算符>关系运算符>&&>||

        4. )复杂条件使用括号提高可读性

          2、if-else选择结构:

          if(条件){

          ​ 语句1

          }else{

          ​ 语句2

          }

          适用于单个if选择结构无法完成

          3、多重if选择结构:

          if(条件1){

          ​ 语句1

          }else if(条件2){

          ​ 语句2

          }else{

          ​ 语句3

          }

          注:使用多重if选择语句处理问题需要注意顺序

          嵌套if选择结构

          可以通过外层语句和内层语句的协作,增强程序的灵活性

          4、switch选择结构语法:

          switch(表达式){

          ​ case 常量1:

          ​ 语句;

          ​ break;

          ​ case 常量2:

          ​ 语句;

          ​ break;

          ……

          ​ default:

          ​ 语句;

          }

          4、switch与多重if区别:

          相同点:都是用来处理多分支条件的结构

          不同点:

          ​ switch:只能处理等值条件判断的情况

          ​ 多重if选择结构:没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况

          if选择结构,包括以下形式

          ​ 基本if选择结构:可以处理单一或组合条件的情况

          ​ if-else选择结构:可以处理简单的条件分支情况

          ​ 多重if选择结构:可以处理分段的条件分支情况

          ​ 嵌套if选择结构:可以处理复杂的条件分支情况

          switch选择结构

          ​ 多重分支并且条件判断是等值判断的情况

          二、循环结构

          1、while循环

          ​ 语法:

          ​ while(循环条件){

          ​ 循环体

          ​ }

          步骤:1)确定循环条件和循环操作

          ​ 2)套用while语法写出代码

          ​ 3)检查循环是否能够退出

          2、do-while循环

          ​ 语法:

          ​ do{

          ​ 循环操作

          ​ }while(循环条件);

          特点:先执行,再判断。

          3、while与do-while的区别

          1)语法不同:

          ​ while:先判断,再执行

          ​ do-while:先执行,在判断

          2)执行次序不同

          3)初始情况不满足循环条件时

          ​ while循环一次都不会执行

          ​ do-while循环不管任何情况都至少执行一次

          4、for循环

          ​ 语法:

          ​ for(初始化;条件判断;更新循环变量){

          ​ 循环操作

          ​ }

          需要多次重复执行一个或多个任务的问题考虑使用循环来解决

          无论哪一种循环结构,都有4个必不可少的部分:初始部分、循环条件、循环体、更新循环变量

          5、所有循环的区别

          区别1:语法不同

          区别2:执行顺序不同

          ​ while:先判断,再执行

          ​ do-while:先执行,再判断

          ​ for:先判断,再执行

          区别3:适用情况

          循环次数确定的情况,通常选用for循环

          循环次数不确定的情况,通常选用while或do-while循环

        第四章、多重循环

        定义:一个循环体内又包含另一个完整的循环结构

        使用注意:

        ​ 1、各循环可互相嵌套

        ​ 2、一般不超过三层

        3、外层循环变量变化一次,内层循环变量要变化一遍

        1、break语句语法:

        ​ 改变程序控制流

        ​ 用于do-while、while、 for循环中,可跳出循环而执行循环后面的语句

        2、continue语句

        ​ continue:只能用在循环里

        ​ continue作用:跳过循环体中剩余的语句而执行下一次循环

        对比break和continue

        ​ 使用场合:

        ​ a、break常用于switch结构和循环结构中

        ​ b、continue一般用于循环结构中

        ​ 作用(循环结构中)

        a、break语句终止某个循环,程序跳转到循环块外的下一条语句

        b、continue跳出本次循环,进入下一次循环

        ​ c、双重循环亦是如此

        return:结束当前方法的执行并退出,返回到调用该方法的语句处

        3、程序调试

        通过代码阅读或者加输出语句查找程序错误

        定义:当程序结构越来越复杂时,需要专门的技术来发现和定位错误。

        程序出错时解决步骤:

        逐条语句执行程序——>观察程序执行情况——>发现问题——>解决问题

        程序调试步骤:

        ​ 1、设置断点,断点:程序暂停执行的代码行

        ​ 2、单步运行F8、步入方法内部F7、跳过当前断点,进入下一个断点F9

        ​ 3、观察变量

      第五章、数组(数组占内存中一段连续的空间)

      一、一维数组

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

      或者

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

      注意:

      1、指定数组名和数组类型

      2、必须写[],

      3、[数组长度]决定连续分配的空间个数,通过数组的length属性获取长度

      4、数组的数据类型用于确定分配的每个空间的大小。

      二、数组的初始化

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

      或者

      数据类型[] 数组名 = new 数据类型[]{ 值1,值2…… };

      遍历数组时可以使用for循环

      增强for的语法结构是

      ​ for(元素类型 变量名 :要循环的数组或集合名){……}

      数组的添加

      步骤:

      1、录入数组数据

      2、找到插入值的下标

      3、将包括下标在内的所有数组元素向后移一位

      4、将新增元素插入指定位置

      5、遍历数组

      三、二维数组

      1、冒泡排序

      冒泡排序速记口诀(升序)

      N个数字来排队

      两两相比小靠前

      外层循环N-1

      内层循环N-1-i

      2、使用Arrays为数组排序

      使用java.util.Arrays类

      ​ java.util.包提供的工具类

      ​ Arrays类提供操作数组的方法,如排序、查询

      ​ Arrays类的sort()方法:对数组进行升序排列

      ​ Arrays.sort(数组名);

      Arrays类:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zfDihxY2-1655948033732)(C:\Users\sj154\AppData\Roaming\Typora\typora-user-images\1654415993458.png)]

      3、多维数组

      三维及以上的数组很少使用

      主要使用二位数组

      从语法上Java支持多维数组

      从内存分配原理的角度,只有一维数组

      4、二维数组的定义与使用

      <数据类型>[][] 【】【】数组名;或者<数据类型>数组名【】【】;

      二维数组实际上是一个以一维数组作为元素的一维数组

      赋值:

      int【】【】 scores = new int【】【】{{},{},{}};

      或者:

      int scores【】【】={{},{},{}};

你可能感兴趣的:(java,开发语言)