java基础

java开发环境

  1. Java编译运行过程分为编译器运行期
    1.1 编译器:Java源文件经过编译生成 .class字节码文件。
    1.2 运行期:JVM加载 .class并允许 .class

Java的特点

一次编程到处使用、跨平台

名词解释

  1. JVM:Java虚拟机
    加载 .class并允许 .class
  2. JRE:Java运行的最小环境
    包含JVM和运行Java系统类库
  3. JDK:Java开发的最小环境
    包含JRE和编译、运行等命令工具
    Eclipse:IBM公司开发的、免费的、开源的、不需要安装仅需解压即可

注释:解释性文本

  1. 单行注释://
  2. 多行注释:/* */
  3. 文档注释:/** */ 用在类和方法上

变量

  1. 存数的,代词,指代的就是它所存的哪个数
  2. 初始化:第一次赋值
  3. 使用
    3.1 对变量的使用就是对它所存的哪个数的使用
    3.2 变量的使用必须与数据类型相匹配
    3.3 变量在使用之前必须声明并初始化
  4. 命名
    4.1 只能包含数字、字母、-$,并且不能以数字开头
    4.2 严格区分大小写
    4.3 不能使用关键字
    4.4 可以中文命名,但不建议,建议 英文的见名知意 使用 驼峰命名法

基本数据类型

也叫原始数据类型

在这里插入图片描述

  1. int:整型 ,4字节 2147483647-2147483648
    1.1 直接量默认为0
    1.2 两个整数相除,结果还是整数
    1.3 整数运算时,若超范围则发生溢出,溢出时需要避免的

  2. long:长整型,8字节 9223372036854775807-9223372036854775808
    2.1 长整型的直接量需要在后面加lL 默认为0L
    2.2 运算时若有可能发生溢出,建议在第一个数字后加L

  3. double:双精度浮点型, 8字节 1.7976931348623157E3084.9E-324
    3.1 直接量默认值为0.0D
    3.2 在参与运算时,有可能会出现舍入误差

  4. float:单精度浮点型 4字节 3.4028235E381.4E-45
    4.1 直接量后面需要加Ff 默认为0.0F

  5. boolean:布尔型 1字节 默认为false
    5.1 只能赋值为truefalse

  6. char:字符型 2字节 065535
    6.1 采用Unicode字符集编码,每个字符都有一个对应的码,表现得形式为字符char,但本质上是int 在单引号中,只有一个 ‘a’=97,‘A’=65 ‘0’=48 特殊得字符用 / 来进行转义

  7. byte:字节型 1字节 -128127

  8. short:短整型 2字节 -3276832767

基本数据类型间的转换

  1. 数据类型从小到大依次为:
byte,short,int,long,float,double
char(和short平级)
  1. 两种方式
    2.1 自动类型转换:小类型到大类型
    2.2 强制类型转换:大类型到小类型
    (要转换成为的数据类型)变量
    例:(int)a
    强转有可能溢出或丢失精度

  2. 两点规则
    3.1 整数直接量可以直接赋值给byte,short,char但是不可以超出他们的范围
    3.2 byte,short,char型数据参与运算时,先一律转换为int再运算

运算符

  1. 算术运算符: +,-,*,/,%,++,–
    1.1 余数为0叫做整除
    1.2 ++,–
    1.2.1 单独使用就是加1或减1
    1.2.2 写在变量表示在使用这个变量之前加1或减1
    1.2.3 写在变量之后表示这个变量使用完之后再加1或减1

  2. 关系运算符:>,<,>=,<=,==,!=, boolean

  3. 逻辑运算符:&&(与),||(或),!(非)
    3.1 短路与:前false后不运行
    3.2 短路或: 前true后不运行

  4. 赋值运算符:=,+=,-=,*=,/=,%=

  5. 字符串连接运算符:+

  6. 条件/三目运算符:boolean ? 数1:数2
    6.1 条件为true运行数1
    6.2 条件为false运行数2

分支结构

  1. if 结构:1条路
  2. if…else 结构:2条路
  3. if…else if 结构:多条路
  4. switch…case 结构:多条路
    4.1 优点:效率高,结构清晰
    4.2 缺点:整数,相等
    4.3 从java7开始,switch语句的条件可以是spring型的
    4.3 break: 跳出switch

循环结构

循环:反复执行一段相同或相似的代码
循环三要素:

  1. 循环变量的初始化

  2. 循环的条件(以循环变量为基础)

  3. 循环变量的改变(向着循环的结束变)
    循环变量:再整个循环过程中所反复改变的哪个数

  4. while:先判断后执行,有可能一次都不执行

  5. do…while:先执行后判断,至少执行一次
    要素1和要素3相同时,首选do…while

  6. for:应用率高,与次数相关的循环

  7. break:跳出循环

  8. continue:跳过循环体中剩余语句而进入下一次循环
    三种循环结构的更佳适用情况:

  9. while:当…

  10. do…while:直到…

  11. for:与次数相关的

嵌套循环

  1. 循环中套循环,一般多行多列时使用,外层控制行,内层控制列
  2. 执行规则:外层循环走一次,内层循环走所有次
  3. 建议:嵌套循环层次越少越好,能用一层就不用两层,超过三层表示设计有问题
  4. break:只能跳出一层循环
  5. 使用标识符,可以指定从哪里开始下一次循环
  6. 程序=算法+数据结构
    6.1 算法:解决问题的流程/步骤(顺序,分支,循环)
    6.2 数据结构:将数据按照某种特定的结构来保存
    设计良好的/合理的数据结构会导致好的算法

数组

  1. 相同数据类型元素的集合

  2. 是一种数据类型(引用类型)

  3. 数组的声明:
    3.1 int[] arr = new int[10] 声明一个整型的数组arr,里面包含10个元素

  4. 数组的初始化
    int[] arr = new int[4]; //0,0,0,0
    int[] arr = {1,2,3,4}; //1,2,3,4
    int[] arr = new int[]{1,2,3,4}; //1,2,3,4
    int[] arr;
    arr = new int[]{1,2,3,4};

  5. 数组的访问
    5.1 通过 (数组名.length) 可以获取数组的长度(数组元素的个数)
    5.2 通过下标/索引来访问数组中的元素,下标从0开始,最大到(数组名.length-1)

  6. 数组的遍历:通过for循环

  7. 数组的复制
    7.1 System.arraycopy(a,1,a1,0,4);
    把a数组中下标从0到4的元素复制到a1数组中从下标1开始复制
    7.2 int[] a1 = Arrays.copyOf(a,6);
    把a数组中的前6个元素复制到a1中
    a=Arrays.copyOf(a,a.length+1); //数组的扩容
    7.3 数组的排序
    Arrays.sort(arr); //从小到大排序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值