Java学习01

计算机的执行机制

编译执行:
将源文件编译成机器码,一次编译,多次执行
执行效率高,不可跨平台。
解释执行:
将源文件被一行一行解释,一行一行执行。不同的操作系统具备不同的解释器
执行效率低,可以跨平台。

Java的执行机制

JVM
先编译、在解释:
将源文件编译成字节码文件(平台中立文件.class),再将字节码文件进行解释执行。
*java—>编译—> *class—> 执行
java设计理念:Write Once Run Anywhere

JVM

使用软件在不同操作系统中,模拟相同环境。

JRE

运行环境(包含JVM和解释器)

JDK

开发环境(包括JRE + 类库 + 开发工具包)

WINDOW命令(×)

d: 更换盘符
dir:查看当前目录下的文件及文件夹
cd 文件夹名
cd +Tab 切换查找
cd…返回上级目录
cls 清屏
del 文件名
rd 文件夹名称
退出 exit

class

代码的容器

class HelloWord{
	public static void main(String[] args){
		System.out.print("Hello world");
	}
}

同一个源文件可以定义多个类
编译后,每个类都会生成独立的.class

定义一个public类必须与源文件名相同

作用:类似于文件夹,用于管理字节码文件(.class)文件。
语法:package 包名;
位置 : 必须写在源文件的第一行
带包编译 javac -d . 源文件名称.java(自动生成目录结构)
带包运行:java 包名.类名(包名+类名又称全限定名)
采用域名倒置的规则

注释

javadoc -d . test.java
/** */文档注释

变量

1.内存?
内存是瞬时状态下的存储空间,造价高、工业上存在设计瓶颈。
2.变量:计算机内存的一块存储空间,是存储数据的最小单元。
3.java虚拟机(java程序)默认分配到的物理内存是1/8
4.bit(位)->Byte(字节)->KB->MB->GB->TB->PB->EB->ZB->YB->BB->NB->DB->CB->XB

数据类型

1.基本数据类型

整数(byte 1字节8位(bit)
short 2字节16位
int 4字节
long 8字节


小数 ,布尔 ,字符
整形数据中默认数据类型为int

程序运行过程中,顺时空间(局部变量表 - slot槽)


浮点型默认为double

float 4个字节 单精度
double 8个字节 双精度

近似值 :
float 将小数存入float中时+f
32bit 1bit符号位 8bit指数位 23尾数位
double
64bit 1bit符号位 11bit指数位 52尾数位


boolean
1字节
取值范围 true/false
其内部仅用一位,其余位补齐,适应java垃圾回收机制。


字符类型(char)
两个字节
英文对应的ASCII编码,中文或其他国家语言对应Unicode编码
Unicode字符集(万国码)
转义字符\


2.引用数据类型


3.类型转换

自动类型转换:

1.两种类型相互兼容
2.目标类型大于源类型


强制类型转换:

1.两种类型相互兼容

2.目标类型小于源类型


(目标类型)值
强制类型转换规则 :

整数长度足够,数据完整。
整数长度不够,数据截断。
小数强转整数,数据截断。
字符整数互转,数据完整。

boolean取值为true/false,不可与其他类型转换。


表达式

使用运算符连接的变量或字面值,并可以得到一个最终结果。
例如: 3+3,
int a = 2 ,
int b = 3;
c = a*b;

自动类型提升

进行算数运算时
1.两个操作数一个类型为double一个类型为float自动提升为double类型。

2.两个操作数中没有double,有一个为float,计算结果提升为float类型。

3.如果操作数中没有float,有一个为long,计算结果提升为long类型。

4.如果操作数中没有long,有一个为int,计算结果提升为int类型。

5.如果操作数中没有int,均为short或 byte,计算结果仍旧提升为int类型。

*任何类型与String相加时,实为拼接,其结果自动提升为String。


运算符

1.算术运算符:加减乘除模(两个操作数)
2.算术运算符:++,–一元运算符(一个操作数)

在一元运算符中,独立一行进行书写时++a,a++;都表示自增一。
不是自己独立一行时,a++,先赋值,在++;++a;先++在赋值。

3.赋值运算符

=:直接赋值
+=:求和后赋值
-=:求差后赋值
%=:求余后赋值
/=:求商后赋值
*=:求积后赋值
4.关系运算符
<,>,!=,==
5.逻辑运算符
&& ,||, !
6.三元运算符
布尔表达式?结果1:结果2
当表达式结果为真,获得结果1
当表达式结果为假,获得结果0

选择结构

基本if
对布尔表达式进行判断
if…else
if …else if …else if … else
一个选择结构中,可嵌套另一个选择结构。
嵌套格式正确的情况下,支持任意组合。
switch语句与break语句和while语句配合使用

局部变量

概念:声明在函数内部得变量,必须先赋值再使用。
作用范围:定义行开始到所在得代码块结束。
注意:多个变量,在重合得作用范围内,不可出现重名(命名冲突)。

标记:所有的对象归于垃圾回收器回收,变量不需要。

循环

while,do…while ,for

循环四部分
1.初始部分。
2.循环条件。
3.循环操作。
4.迭代部分。
while的特点:首次判断不满足,则一次都不会执行。(执行次数:0-n次)适应于循环次数明确
do…while的特点:首次没有入口条件,先执行再判断。(执行次数:1-n次)适应于循环次数不明确。
do{
}while();
for的特点:

for(int i = 0 ; i <=100; i++){
System.out.println(i);
}

死循环
for(; ; )
while(true)

流程控制

break:终止、跳出switch、循环结构
continue:跳入此次循环,跳入下一次循环

Math.random

大于零小于一的小数

函数

定义语法:
public static void 函数名称(){
//函数主体,功能代码。
}
定义位置:
函数定义在类的内部,与main函数并列。

注意:调用函数时,会优先执行函数内部代码,结束后,返回到函数调用处,继续向下执行。

形参与实参
public static void 函数名称(形参){
//函数主体。
}
实际参数为形式参数赋值
函数名称(实际参数)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值