java入门
三高问题:高可用,高性能,高并发
Java特性与优势:
简单性,面向对象,可移植性,高性能,分布式,动态性,多线程,安全性,健壮性
Java三大版本
Javase(标准版),javame(嵌入式开发),javaee(企业级开发)
jdk:java开发者工具包
jre:java运行环境
jvm:java虚拟机
安装java环境(自行搜索网上其他博客),成功后在cmd命令行窗口输入java -version,查看jdk是否安装成功
java程序运行机制
编译型和解释型
psvm 直接生成一个main方法
sout直接生成 输出语句
java基础语法
java注释:单行注释,多行注释,文档注释
注释并不会执行,是写给人看的
标识符和关键字
标识符:类名,变量名以及方法名
java所有组成部分都需要名字
标识符大小写十分敏感
所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开头
首字符可以是上述几种或数字的任意字符组合
不能使用关键字作为变量名和方法名
数据类型
强类型语言:要求变量的使用符合规定,所有变量都需要先定义才能使用
java数据类型:基本类型,引用类型
八大数据基本类型及其定义:
数据类型扩展
整数拓展:进制 二进制 八进制(0)十进制 16进制(0x)
浮点数拓展:有限,离散,舍入误差,大约,接近但不等于
所有的字符本质上还是数字,可以将其强制进行转换
转义字符:/t(制表符)/n(换行)
类型转换
分为强制类型转换,自动类型转换
运算中不同数据类型先转换为同一类型,然后进行运算。
强制类型转换:(类型)变量名 高——>低
自动类型转换:自动 低——>高
注意:1. 不能把布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候,强制类型转换
-
转换的时候可能存在内存溢出,或者精度问题
操作比较大的数字时,注意溢出问题,数字之间可以用下划线分割
如int a=1_000_000_000;
变量
每个变量必须声明其类型
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
注意:
- 每个变量都必须有类型,可以是基本类型,也可以是引用类型
- 变量名必须是合法标识符
- 变量声明是一条完整的语句,因此每一个声明必须以分号结束
变量作用域:类变量,实例变量,局部变量
局部变量:必须声明和初始化值
实例变量:从属于对象,如果不自行初始化,这个类型的默认值为0,布尔值默认为false,除了基本类型其余的默认值都是null
类变量:用static关键字定义
常量:初始化后不能再改变的值,用关键字final定义(修饰符不存在先后顺序)
变量的命名规范:
基本运算符
ctrl+d:复制当前行到下一行
用运算符进行运算时,整型类型默认为int,有long类型则为long类型
自增自减运算符:++ --(一元运算符)
int b=a++;//执行这行代码之后,先给b赋值,再自增
//a=a+1
int c=++a;//执行这行代码之前,先自增,再给c赋值
幂运算,调用Math类,Math.pow(a,b)即a的b次方,结果为浮点数类型
逻辑运算符:与(and)或(or)非(取反)
&&:两个都为真结果才为真(当前面一个条件为假时,则不会执行后面的一个条件)
||:两个变量只有一个为真则为真
!:如果是真则变为假,如果是假则变为真
位运算:按位与或非异或(用于二进制)
移位符:
<< 左移1位(乘2) >>右移1位(除2)
当在加法运算符两侧,string类型变量出现,在其前面的变量会运算,而在其后面的变量则会自动拼接
三元运算符: ? :
x?y:z
#如果x为true,则结果为y,否则结果为z
包机制:
java中的包等同于windows中的文件夹
定义包用package
为了能够使用某一个包的成员,我们需要在java中用import导入该包,定义应该在导入之前
*代表通配符
import com.zdg.base* 该语句则会导入这个包下的所有类
javadoc生成文档
javadoc命令是用来生成自己的api文档
参数信息:
命令行语句:Javadoc 参数+java文件