java基础(一)
JAVA EE基础知识学习
1. Java语言概述
Java语言诞生于1995年在sun,在09年被oracle收购
1. 简洁有效,面向对象,简单易学
2. 跨平台性好,java写好的程序可以在任何系统上运行,一次编译到处运行,java为每一个平台都提供了一个jvm(java虚拟机)
3. Java语言适合大型企业级管理系统,大型互联网系统(分布式系统)
2. Java语言分支
Java SE(标准版),是java基础,
Java ME (移动版) 适合移动端的开发
Java EE (企业版) 面向企业级管理系统
3. java环境的搭建
JRE:java Runtime environment (java运行环境)
JVM:java virtual machine(java虚拟机)java程序就是在jvm中运行的
Java核心类库:JRE提供的能让程序运行的java类
JDK:java development kit(java开发工具)
我们只要安装JDK就可以了
JDK的安装:
Jdk安装目录
等待安装
Jre安装目录,
JDK安装目录不要用中文
4. JDK环境变量的配置
bin:可执行命令的目录
db: java语言提供的数据库
include:jdk提供的本地接口编程
jer:java运行环境
lib:java开发包
src:jdk源码包
jdk需要使用dos命令来执行-环境变量可以让我们在任意目录执行想要执行的程序
打开环境变量
右键我的电脑—属性—高级系统设置—高级—环境变量
Systemroot是系统的根
配置jdk环境变量
在系统变量栏中—新建—如下图jdk环境变量配置完毕
5. java的第一个程序
类的语法编写
Class 类名{
类的体
}
示例
6. java的运行机制
我们自己写的代码都是源代码(.java),源代码不能执行,必须编译成.class文件才可以运行
编译java源文件:Javac 类名.java
运行javaClass文件:java字节码文件名
7. Class path类路径
如果配置了classpath环境变量的话,在执行代码的时间就会去找这个class文件运行
8. 标识符
1. 在java语言中,对各种变量,方法和类等要素命名是所用的字符序列就是标识符,这些标识符有jdk定义好的,也有我们在开发过程中自己定义的
2. Java标识符由26个英文字符大小写,数字0-9,符号_$,注意—数字不能开头
3. Java中严格区分大小写
4. 定义标识符需要见名只意
5. 类名和接口的规范-首字母大写,多个单词,每个单词首字母大写
6. 变量名和方法名规范-首字母小写-第二个单词可以首字母大写
7. 包名规范—所有的字母都必须小写
8. 常量规范—所有的字母都大写,多个单词之间使用_下划线分割
9. 关键字
Jdk定义的标识符就是关键字,我们不可以使用。我们定义标识符是要避开关键字
10. java的注释
帮助就是方便我们阅读代码的
单行注释--//
多行注释--/**/
文档注释—(对类或者方法的说明)--/****/
11. 进制
常用的进制有:二进制,八进制,十进制,十六进制
十进制示例
12. 常量和变量和数据类型
常量和变量
程序运行
1. 开辟内存空间
2. 提取数据(.Class)
3. Cpu调度运行
1.
1. 常量
在程序运行期间数据不发生变化的量就是常量
整数的常量:24H 365天
空常量:null
Boolean类型值:true和false
小数:重力系数9.8 圆周率3.14
字符:男
2. 变量
在程序运行期间可以存储变化的数据的量就叫做变量
变量的定义—数据类型 变量名=变量值;
数据类型
八大基本的数据类型:
整数类型占用的存储空间
小数类型占用存储空间
字符类型占用存储空间
Char—2个字节
布尔类型占用存储空间
Boolean—true和false---2个字节
12. 变量的定义和使用
对变量的操作:存值和取值
语法:数据类型 变量名=变量初始值;:
变量的定义位置:定义在方法中或者语句块中
//整数类型
byte age=10;
short a=100;
int b=400;
long c=900;
//小数类型
float d=49.6F;
double e=300.3D;
//字符型
char sex='男';
//布尔类型
boolean flage=true;
13. 变量的作用范围
变量只能在当前的大括号和当前大括号的子括号内使用
14. 数据类型自动转换上
基本数据类型做为类的属性时的默认值
数据类型 | 默认值 |
Byte | 0 |
Short | 0 |
Int | 0 |
Long | 0 |
Float | 0.0 |
Double | 0.0 |
char | ‘\u0000’ |
boolean | false |
15. 数据类型自动转换下
Byteàshortàintàlongàfloatààdouble
八大数据类型除了boolean类型其他的都可以转换
1. 自动转换
变量在做计算的时间可能有溢出的情况,那么java语言采用自动类型转换的方式来处理,小的数据类型向大的数据类型空间去转换
Byte,short,charà在做数据运算的时间会自动提升为int数据类型
Char类型的数据在参与运算的时间每个值都对应一个ASCII码值
Int和其他数值计算也会溢出,int不会提升,而是直接损失精度
0111 1111 1111 1111 1111 1111 1111 1111—int的二进制表型形式
Int不能自动进行提升
任何整数数据类型和long类型做数据运算时溢出的话都会自动转换成long类型
Folat类型和folat类型进行数据运算不会提升
常量和常量进行运算,只要定义的数据不超出其范围就可以
Float和所有整数类型进行运算,都会转换成float
Double和常量进行计算会自动转换成double类型
Double和float进行运算会自动装换为double
Double和所有的整数类型进行运算会自动转换为double
16. 数据类型强制转换
大空间的数据类型向小空间的数据类型装换
语法:数据类型 接受的变量=(目标数据类型) 变量名
把int型强制装换为short类型
强制转换可能会损失精度,因为要转换的变量的值有可能会超出目标类型的大小
Char类型除了boolean类型其他的类型都可以转
17. 算数运算符
1. 算数运算符
四则运算:+ - * /
取余(取模):%
自增和自减:i++ i-- ++i --i
后加加或者减减
前加加或者减减
后加加或者后减减和前加加或者前减减的区别
当后加加或者后减减和其他代码在同一行的时间,先使用后加加或者后减减之前的值在进行运算,如果不在同一行,后面的一行就会得到后加加或者后减减后的值
前加加或者前减减就是先做加一或者减一在在使用加减完的值
2. 比较运算符
== != > >= < <=
==:等于(判断双等号两边是否相等)
!=:不等于
>:大于
>=:大于等于
<:小于
<=:小于等于
3. 逻辑运算符
& | ^ && || !
&:当多个表达式进行运算的时间,只有所有的表达式计算结果都是true,整体的结果才是true
&:(与)所有的表达式都会执行
表达式1 | 表达式2 | 表达式3 |
True | true | True |
true | false | true |
false | true | False |
false | false | false |
|:当多个表达式进行运算的时间,只有所有的表达式计算结果都是false,整体的结果才是false
|:(或)所有的表达式都会执行
表达式1 | 表达式2 | 表达式3 |
True | true | True |
true | false | True |
false | true | True |
false | false | false |
&&:如果发现第一个表达式为false,整体结果就是false,就不会再执行其他表达式
&&:(双与)只要一个条件不满足,接下来的表达式就不会被执行
表达式1 | 表达式2 | 表达式3 |
True | true | True |
true | false | true |
false | true | False |
false | false | false |
||:如果发现第一个表达式为true,整体结果就是true,就不会再执行其他表达式
||:(双或)只要一个条件不满足,接下来的表达式就不会被执行
表达式1 | 表达式2 | 表达式3 |
True | true | True |
true | false | True |
false | true | True |
false | false | false |
注(&&和||是短路逻辑—效率高)
^:如果两个表达式相同就是false,不同的话就是true,两边都参加计算
!:取反(把结果反过来)
4. 位运算符
<< >> >>> & | ^
<<:将二进制数据向左移动,低位产生的空位用0来补齐
>>>:无符号右移,将参与运算的数据向右移动,在高位产生的空位0补齐
计算机中所有的运算用的都是补码
原码 反码 补码
正数(3) 0000 0011 0000 0011 0000 0011
负数(-3) 1000 0011 11111100 1111 1101
5.赋值运算符
= += -= *= /= %=
=:将右边的数值赋给左边的变量
+=:int x=2, x+=3, 相当于x=x+3
18. if判断
一个if:语法:if(条件判断表达式){语句块}
多重if:语法:if(条件判断表达式){执行语句}else{执行语句}
多重if:语法:if(条件判断表达式){执行语句块}elseif(条件判断表达式){执行语句块}else{}
19. switch的用法
由上到下用switch中的表达式和值进行比较,如果匹配成功 就执行case后的语句,在执行break的时候调处switch,如果一个也没有匹配上就执行default默认情况
语法:
Switch(表达式){
Case常量 1:
执行语句1;
Break;
Case常量 2:
执行语句2;
Break;
……………………
Default:
执行语句;
Break;
注(表达式的值可以是byte,short,char,7之后可以用String类型)
}
20. 三元运算符
语法:判断表达式?表达式:表达式2
三元运算符适合判断两个值到底使用那一个的情况