JAVA 基础知识梳理

    科技2022-07-11  97

    JAVA 基础知识梳理

    javajava能做什么java程序的结构基本单元:类java变量和常量变量常量数据类型转换 java控制台输入 运算符算数运算符关系运算符逻辑运算符赋值运算符三元运算符 分支结构循环基础循环增强循环迭代循环 一维数组数组

    java

    JAVA语言(目前为止)是(唯一)一门可以运行在JAVA平台的语言 Java是一门跨平台(write once,run anywhere)的面向对象的编程语言 跨平台:一套代码可以在不同的操作系统上运行 通过JVM实现跨平台,在此过程中,JVM的角色是翻译(先行条件:各个平台上得先装上JVM),即:将源码编译成字节码,然后通过虚拟机执行 JVM(java virtual machine) java虚拟机JRE(java runtime environment) 运行环境JDK(java development toolkit) 开发工具包 目录:bin jar.exe 打jar包javac.exe 编译java源程序=>生成字节码程序 javac -encoding utf-8 可以指定java编程字符编码格式为utf-8java.exe 执行java字节码程序=>启动虚拟机javadoc.exe 生成文档

    java能做什么

    JavaSE Client/Server(常用于应用服务,窗口程序)(java其实不适合做窗口程序)javaEE WebAPPJavaMe 嵌入式

    java程序的结构

    基本单元:类

    类的语法结构: public class 类名{}

    类名的命名规则: 其构成元素只能有字母、数字、下划线、$、¥不能以数字开头,但是可以以数字结尾。一般以大写字母开头,每个单词首字母大写见名知意公共类类名必须和文件名一致

    程序的入口 public static void main(String[] args){…}

    控制台输出 System java的内置对象 system.in java标准输入流 system.out java标准输出流 System.out.print(“内容”); 输出后不换行 System.out.println(“内容”); 输出后换行

    输出转义符 (是写在双引号里面的) \n : 换行符 \t : 制表符(tab键,大小为8个字母4个汉字,可调)

    字节范围:bit:0/1 byte: 0 ~ 255 / 128 ~ 127

    为了兼容中文及其其他外文,java所有的字符都是双字节(单字节为256,双字节25536)的(双字节编码),不过英文的第二个字节为0

    java变量和常量

    变量是有作用域的(生命周期) 最小作用域原则

    变量

    以房间为例: 房间类型——数据类型 地址房号——变量名称 入住——赋值

    java 数据类型

    基础类型 字符类型 单字符 char ‘?’ 单引号内必须有且只能有一个东西字符串 String “” 空字符串是允许存在的,长度范围为0~内存上限 数值类型 整数(默认为int类型) byte -128~127 256(一个字节) short -32768~32767 65536(两个字节) int ±21亿 四个字节 long 八个字节 BigInteger 不限制大小小数(默认为double类型) float 取值范围大于long,可以兼容整数(大即兼容)(近似类型,计算时容易产生微小误差) double 取值范围大于float(近似类型,计算时容易产生微小误差) BigDecimal (精确类型) 布尔类型 布尔 可以理解为包装过的bit(取值为 0/1 ) Boolean false/true //引用类型 …

    java变量使用三步骤:

    声明 语法:数据类型 变量名称; 变量命名规范: 其构成元素只能有字母、数字、下划线、$、¥不能以数字开头,驼峰命名法见名知意公共类类名必须和文件名一致 赋值 变量名称 = 值;使用 变量名称1 = 变量名称1+变量名称2 System.out.println(“变量名称1”); 1+2组合:数据类型 常量名称 = 值 同一类型多个变量: 数据类型 变量1,变量2…

    常量

    命名:final 数据类型 常量名称 = 值常量名称:不能由数字开头,全部字母大写

    数据类型转换

    算数表达式的最终类型取决于表达式中的最大类型 向上转型:小转大,自动转换类型 float a = 1; byte a = 120; int b = a ;向下转型:大转小,强制转换类型 float a = 1.0f; float a = (float)(1+1.0) long a= 120564564565L;

    java控制台输入

    导入类:import java.util.scanner; 默认导入:import java.lang.*;

    创建工具对象 Scanner input = new Scanner (System.in);

    控制台接受用户输入值 xxx 变量名 = input.nextXxx();

    特殊 String a = input.next(); char a = input.next().charAt(0);

    运算符

    算数运算符

    ±*/ ++ a++(先取值,再+1)++a(先+1,再取值) – += -= *= /=

    a=a+1 <=> a++/++a <=> a+=1 a=a+N <=> a+=N ★算数表达式的最终类型由表达式中最大类型决定

    关系运算符

    > >= < <= == != ★关系表达式最终结果为布尔(boolean) 1>2 false int a = ? a>=3

    逻辑运算符

    && 逻辑与 二元短路与 都为true为true,否则为false|| 逻辑或 二元短路或 都为false为false,否则为true! 逻辑非 前置一元运算符 ★短路:逻辑表达式左侧表达式的结果能够确定最终结果时,右侧表达式不予执行。

    赋值运算符

    = 从右向左执行

    三元运算符

    xxx val = boolean ? V1 : V2;(如果为true,为V1,如果为false,为V2)

    分支结构

    单分支 if(条件){代码}双分支 if(条件){代码}else(条件){代码}多分支 if(条件){代码}else if(条件){代码}else if…elseswitch(表达式){case 常量1:代码1;break;…default:代码N;} ★if做区间条件,switch做等值条件 贯穿现象 只支持long以下的整数(包括了char在内) JDK1.8之后开始支持String 嵌套分支 if(){ if(){} switch(){} }

    循环

    概念:重复性操作四要素: 循环变量的声明和初始化循环条件的构建循环体循环变量的更新 使用循环解决问题 是否存在重复性操作如果存在,确定四要素选择循环结构,套用其语法 while do…while 循环次数不确定的循环 while 先判断后执行 do…while 先执行后判断 for的循环次数是确定的确认循环是否能够正常结束

    基础循环

    while(条件){循环体} do{}while(); //←注意分号不要丢 for(循环变量的声明和初始化;条件;循环变量的更新){循环体}

    增强循环

    迭代循环

    一维数组

    变量概念:一种存储空间的表示

    数组

    概念:一组类型相同的连续的存储空间的表示优点 类型相同:不用考虑类型的问题连续:遍历 缺点 类型相同是优点也是缺点:无法解决不同类型多个值的存储空间连续是优点也是缺点:插入,移除过于繁琐 使用数组四步骤 声明 xxx[] array;★分配空间 array = new xxx[int LENGTH];赋值 array[int INDEX] = Value;使用 System.out.println(array[int INDEX]); 数组的属性(可以为0,即空数组) 不可变,new之后会变更地址长度固定:int len = array.Length;下标(索引): 0~array.length-1 若超出范围会报异常 特殊语法命名 1+2+3 : xxx[] array = {value1,value2,value3,… }; int[] arr1={}; int[] arr2={5,7,9}; int[] arr3=new int[]{5,7,9};数组元素的默认初值 String : null byte/short/int/long : 0 float/double : 0.0 boolean:false char : (char)0
    Processed: 0.030, SQL: 8