Java基础
2021-03-21 22:25
标签:最好 命名 jdk a+b 字符 相同 oat 位运算 不同 JDK:Java Development Kit JRE:Java Runtime Environment JVM:Java Virtual Machine 编译javac java文件,会生成一个class文件 运行class文件,java class文件 比如一个美国人要读中文的小说,但是他不会中文所以需要想个办法来读懂,而编译型语言其实就是把整本书全部翻译一遍,解释型是找一个翻译来逐句对整本书进行翻译。编译型效率更高一点,但是解释型 编译型语言:C C++ 解释型语言:js python vb idea快捷键 command+d 复制粘贴当前行 文档注释在idea中敲出/**后直接敲回车就出来了 Java所有的组成部分都需要名字。 类名、变量名以及方法名都被成为标识符。 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合 不能使用关键字作为变量名或方法名 标识符是大小写敏感的 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很LOW 强类型语言 弱类型语言 Java的数据类型分为两大类 进制:二进制0b 十进制 八进制0 十六进制0x 两个例子 浮点数是有限 离散 舍入误差 大约 接近但不等于,所以最好完全避免使用浮点数进行比较 所有的字符本质还是数字 编码 Unicode表:(97=a 65=A)2字节 0-65535 常常用U0000 UFFFF来表示 转义字符 \t表示制表符 \n表示换行符 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换 低---------------------------------------------------------->高 byte,short,char -> int -> long -> float -> double 变量是什么?就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域 注意: 所有变量、方法、类名:见名知意 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 局部变量:首字母小写和驼峰原则 常量:大写字母和下划线:MAX_VALUE 类名:首字母大写和驼峰原则:Man,GoodMan 方法名:首字母小写和驼峰原则:run(),runRun() 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。 常量名一般使用大写字符 修饰符不存在先后顺序 不同类型的变量进行运算会自动转换为容量大的数据类型 自增运算符 短路运算 位运算 字符串连接符"+" 运算顺序的不同结果也不同 Java基础 标签:最好 命名 jdk a+b 字符 相同 oat 位运算 不同 原文地址:https://www.cnblogs.com/ckk221/p/13898601.htmlJava基础
HelloWorld
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld!");
}
}
Java程序运行机制
Java基础语法
注释
标识符
数据类型
数据类型的一些拓展
整数的拓展
int i = 0b10; //二进制
int i1 = 10; //十进制
int i2 = 010; //八进制
int i3 = 0x10; //十六进制0x
System.out.println(i); //2
System.out.println(i1); //10
System.out.println(i2); //8
System.out.println(i3); //16
浮点数的拓展
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);//表示输出f是否等于d的结果,返回false,表示二者不等
float d1 = 23132132131231213f;
float d2 = d1 + 1;
System.out.println(d1 == d2);//返回true
字符的拓展
char c1 = ‘A‘;
char c2 = ‘中‘;
System.out.println(c1); //A
System.out.println((int)c1); //65
System.out.println(c2); //中
System.out.println((int)c2); //20013
char c3 = ‘\u0062‘; // \u表示转义
System.out.println(c3); //a
int c4 = 97;
System.out.println((char)c4); //a
类型转换
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割,并不会被输出
int money = 10_0000_0000;
System.out.println(money); //1000000000
int years = 20;
int total = money*years;
System.out.println(total); //-1474836480,计算的时候溢出了
long total2 = money*years; //仍然不行,还是溢出,因为默认是int,转换之前已经存在问题了
long total3 = money*((long)years); //先把一个数转化为Long
System.out.println(total3); //20000000000 溢出问题得到解决
变量
type varName = value
变量作用域
public class Variable{
static int allClicks = 0; //类变量
String str = "hello world"; //实例变量
public void method(){
int i = 0; //局部变量
}
}
变量的命名规范
常量
final 类型 常量名 = 值;
final double PI = 3.14;
运算符
int a = 1;
int b = a++;
System.out.println("a="+a); //a=2
System.out.println("b="+b); //b=1
int a = 1;
int b = ++a;
System.out.println("a="+a); //a=2
System.out.println("b="+b); //b=2
int c = 5;
boolean d = (c
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 //两者均为1才为1,其余为0
A|B = 0011 1101 //有一个1就为1,其余为0
A^B = 0011 0001 //相同为0,不同为1
~B = 1111 0010 //全部取反
int a = 10;
int b = 20;
System.out.println(""+a+b); //1020
System.out.println(a+b+""); //30