java由1995年sun公司研发的,后2009年被ORACLE公司收购。
JDK的环境变量配置
1. 上JAVA_HOME 下JDK的安装路径
2. 下面的path添加%JAVA_HOME%/bin;
jdk:负责编译文件运行文件;
jre:java的核心类库;
jvm:虚拟机;
jdk包含jre包含jvm
java是如何实现跨平台?
答:不同版本的操作系统安装了相应的jvm虚拟机。
编写代码的时候,需要用到 JRE 中 Java 已经写好的代码
编译代码的时候,需要使用 JDK 中的编译工具
运行代码的时候,需用使用 JDK 中的运行工具
代码需要运行在 JVM 中.
JDK,JRE.JVM的作用和关系?
答:jvm是java虚拟机,是我们运行java程序所依赖的载体(平台)
jre是java运行时的环境,里面包含jvm虚拟机 以及自带的核心类库。
jdk是java提供给开发人员的工具包,里面包含jre,还存在javac.exe java.exe 编译 工具和运行工具。
8个基本数据类型:整形:byte,short,int,long 1字节 2字节 4字节 8字节
小数:float,double 4字节 8字节
字符:char 2字节
布尔:boolean 1字节
一个字节等于8个二进制数。
byte的范围在:-128~127之间
类型转换
小类型向大类型转换会自动隐式转换
大类型向小类型转换会损失精度而报错,可强制转换:double d=12.3; int i=(int)d;
byte short char int 类型相运算会自动提升成int形:
byte a=3; byte b=4;
byte c=a+b;
// 最终报错应为int向byte类型转换
byte c=3+4; //没错因为Java存在常量优化概念。
byte a=5;
a+=1;//存在隐式类型转换
5%10=5
int a=2;
int b=3;
byte c=(byte)a+(byet)b;//错误
byte c=(byte)(a+b)//正确
byte < char , short < int < long < float < double
命名规范
字母(大小写都可以)数字 下划线 $
不可数字打头命名
类的命名:大驼峰法 所有单词字母大写
方法命名:小驼峰法 首单词的首字母小写后面的单词首字母都大写
变量命名:同方法命名
java中进制变现
二进制:0b开头
八进制:0开头
十六进制:0x开头
逻辑运算符
& 与
| 或
! 非
^ 异或 两边逻辑不相同则为 true 不同则为 false true ^true (false) false^true (true)
短路逻辑运算符
&& 与 & 不同的是 &&首先看左边逻辑是否成立路过成立则不管右边了。&不管左边逻辑是否成立两边都看
|| 与 | ||如果左边为假,右边执行;如果左边为真,右边不执行 。|左边为真右边也要执行。
三目运算
int a=5;
int b=10;
int max=a>b? a:b; a>b的逻辑成立则输出a,不成立则输出b;
Scanner的使用
1. 导包:import java.util.Scanner;
2. 创建:Scanner sc=new Scanner(System.in);
3. 使用:int temp=sc.nextInt();
IDEA快捷键的使用
main方法:psvm+ent
输出语句:sout+ent
向下复制:Ctrl+D
剪切:Ctrl+x
整理代码:Ctrl+alt+L
查看代码错误:Alt+ent
代码下移:Ctrl+Shift+↓
代码上移:Ctrl+Shift+↑
单行注释:Ctrl+/
多行注释:Ctrl+Shift+/
内容替换:Ctrl+r
方法抽取:Ctrl+Alt+m
switch的使用
switch(这括号可放byte,short,char,int,String类型的值){
case 1//这里也是byte,short,int,char:
代码块 ;
break;
case 2:
代码块;
break;
default:
代码块;
break;
}
不加break的话会有case穿透;
获取 个位数,十位数,百位数...的运算
个位数:需要获取的数 %10 可得到个位数
十位数:需要获取的数 /10 %10 可得到十位数
百位数:需要获取的数 /10/10 %10 可得到百位数
......
do whiel的书写格式:
do{
}while();
for,while,do...while的区别
for while和do...while的区别:for while如果条件成立的话就执行,do...while不管条件是否成立至少运行一次
for 和while的区别:由于for和while的书写格式,for中定义的i为局部变量执行完for之后i就会消失,而while中的i为全局变量不会随着while的执行结束而消失,外界还可以拿到i.
for的书写格式:for(int i=0;条件;i++){}
while的书写格式:int i=0; while(条件){} |
|