本文主要是介绍【JavaSE】1.语言基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
语言基础——入门、常量
入门
- 工程文件.java
- javac编译为.class字节码文件(这是jvm的可执行文件,类似于win系统下的.exe文件)
- .class文件的优点:跨平台
- JVM内存
- Stack(存局部变量)、Heap(Java对象)、方法区(字节码文件)
- 本地方法栈、寄存器(Register)
- 程序的运行:
- Stack栈:main方法进入:压栈
- Heap堆:new新对象就放在堆内存里面
Package
- 包名:com.hzyc.demo(包名统一使用单数形式,包下的类名可以有复数)
- src:存放源码,包含很多package;package:存放类的文件夹
- 定位:package com.hzyc.demo(必定在首行)
- 导包:import com.google. _(_代表全部导入)
- java. Lang包、java.io包是java自带的,包括了很多基础功能
- java.lang不需要导包(Math、String)
- java.util……都需要导包
- 命名:package全小写(com.hzyc.demo)、类(首字母大写)、变量/方法名(第二个单词大写)、常量(纯大写)
常量
- 基本数据类型(封装在各种类中,有不同的二进制位数)
- char占16bit,0~65535,480、65A、97a,(大小写互换32)
- float占32位,(1位符号位,8位2的幂指数位,23位底数位)极限值:2*2^127
- double占64位(1位符号、11位幂指数位、52位底数位
- float类型的数据要加浮点型后缀!!!
- byte占8bit,(-128~127,0为正整数)
- int占16bit,(范围:-215-215-1)
- 整型:int、byte、short、long、
- 浮点型:double(float)
- 字符型:char、Boolean
- 引用数据类型
- 常量之外
- 补码:
- 变量:必须有名字且赋值,在stack中存在(只在作用域内使用)
- print中的格式字符串:%d、%o、%x、%c、%f(有小数点的格式)、%s(String)
运算
- 【类型转换】变量接收的必须是能接收的类型,强转需要提前自己强转完
- byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型
- 自加自减
- 【先加后用】前++,那么变量【立刻马上+1】,然后拿着结果进行使用。
- 【先用后加】后++,那么首先使用变量本来的数值,【然后再让变量+1】
- 位运算:|&^~
- 转型:
- 小杯饮料倒到大杯里面
- 但整型和浮点型之间转换会丢失精度。
- 原数据在造型(cast)的时候精度/长度会损失一部分
- 自动转型:byte a = 5;(只有整型常数可以实现)
- 类型的缩小转换必须使用造型
- 类型的放大转换:直接自动转换
- 转义字符:
\r
carriage return、\n
new line\"
、\'
循环语句、选择结构
对for循环语句的理解
- for的执行顺序:①对变量预处理、②{for的body主体}、③继续条件的判断、④步进语句
- for是while语句的简化版
- break/continue
- 有锚定:跳出带有锚定标记的for循环
- 不可用在非switch、for、do、while语句中
- 有锚定:到带有锚定标记的循环继续循环
- continue:跳过循环剩下的语句,继续下一次循环
- break:结束循环
方法(函数/功能)
- 方法有修饰符、返回值类型、方法名称、参数
- 方法的重载@overload
- 做冰淇淋的方法,加入不同原料(不同品牌的巧克力、草莓)
垃圾回收:new了一个新对象/数组,如果没有指针指向,就被回收。
数组
数组声明
- 引用类型:指向对象/目标地址
- 赋值赋的是引用对象,而不是数组主体
- new创建新数组,new后面的东西在Heap堆中,不可更改
- 看到的只是数组的名字(地址),不是本体。
- 数组的复制:
- System.arraycopy(src,srcPos, newarr, newarrPos, length);【底层为C,共享同一对象】【大数组时效率高】
- for循环遍历:不能往小杯子里放,不然出现“ArrayIndexOutOfBoundsException”【最易理解】【适合小数组】
- int[] = Arrays.copyOf(arr,arr.length)【可控新数组长度】【代码里面含有System.arraycopy】【效率最低】
- newarr = arr.clone();【两个数组还是共享同一对象】
数组的排序
- Arrays类的sort()方法:可以直接对数组进行升序排列,返回排号的序给数组本身。
Array.sort(int arr)
Tips
- 初始默认值default value:实例变量、类变量、数组元素
- arr.length为数组的属性而非方法,为final int型
这篇关于【JavaSE】1.语言基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!