java概念和基本数据类型
Jdk
-
jdk包含jre
-
jre包含jvm
Java编译
-
java先编译成.class文件,然后在解释给操作系统
Java数据类型
-
数据类型分为基本数据类型和引用数据类型
-
基本数据类型:(整数类型)byte ,short,int,long(浮点数)float,double(boolean型)boolean (字符型) char
-
引用数据类型:数组,接口,类
Java语言类型
-
java是强语言类型
进制转换
-
二进制:0b开头
-
八进制:0开头
-
十进制:正常
-
十六进制:0x开头
代码
package demo;
public class Demo01 {
public static void main(String[] args) {
//整数拓展 二进制0b 八进制 0 十进制 十六进制0x
int a=0b10;
int b=010;
int c=10;
int d=0x10;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println("******************************");
/*浮点数 为什么不相等呢? 因为浮点数存在四舍五入
所有比较数字的时候避免用浮点数进行比较,运用整数比较*/
所以在银行中钱进行比较的话,我们用BigDecimal来进行比较,所以返回false*/
float e=0.1f;
double f=1.0/10;
System.out.println(e==f);
System.out.println("******************************");
//当float数值超出范围的时候会进行四舍五入,因为float是有限的,离散的 存在误差的 所以返回true
float a1=433535345353543543f;
float a2=a1+1;
System.out.println(a1==a2);
System.out.println("******************************");
//string比较
String s = new String("abc");
String s1 = new String("abc");
//如果用s.equals(s1)比较就会相等,因为equals比较的是字符串的值,所以返回true
System.out.println(s.equals(s1));
/*双等于是比较的这两个对象s和s1的地址,创建对象就会在内存中生成s和s1的地址,它俩地址肯定不一样,就会是false*/
System.out.println(s==s1);
System.out.println("******************************");
String c1="abc";
String c2="abc";
//如果用s.equals(s1)比较就会相等,因为equals比较的是字符串的值,所以返回true
System.out.println(c1.equals(c2));
//因为这两个变量不是经过创建对象而定义的,所以它不会生成地址,也是比较的字符串的值 所以返回true
System.out.println(c1==c2);
System.out.println("******************************");
//boolean值 判断语句书写两种格式
boolean flag=true;
if (flag){
System.out.println("成功");
}
//第二种
if (flag==true){
System.out.println("成功");
}
System.out.println("******************************");
//强制转换 高转低会有损失,低转高不会有损失
char d1='c';
char d2='中';
System.out.println((int) d1);
