注释不会被执行
单行注释: //注释
多行注释:/* 注释 */
? Java的组成,如变量名、方法名、类名等都被称为标识符。
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | stritfp | short | static | super |
switch | synchronized | this | throw | throws |
translent | try | void | volatlle | while |
? Java分为两种数据类型,分别为基本数据类型和引用数据类型
? string不是基础数据类型,是一个类
int
byte
short
long :在数字后要加一个L作为标识
float :在数字后要加一个F作为标识
char
boolean
进制 :在数字前加数字,更换进制
? 因为浮点是有限位,且离散,有舍入误差,大约,接近但不等于,所以最好完全避免使用浮点数进行比较
? 银行业务怎么表示钱?
使用Bigdecimal 数学工具类
? 所有字符本质上都是数字
? 使用编码 unicode 表:U0000-UFFFF
String a=new String(oriqinal:"hello world");
String b=new String(oriqinal:"hello world");
String.out.println(a=b);
String c="hello world";
String d="hello world";
String.out.println(c=d);
结果为
false
true
原因要从内存分析
boolean flag =true;
if(flag==true){}//新手
if(flag){}//熟练
低---------------------------------------------------→高
byte,short,char→int→long→float→double
? 当将类型高的数据转换为类型低的数据时,进行强制转换
? (类型)变量名
注意:强制类型转换可能导致内存溢出
? 当将类型低的数据转换为类型高的数据时,将进行自动转换
? 自动转换将自动进行
操作比较大的数时,注意溢出问题
? 容易有内存溢出问题或精度问题
不能对布尔值进行转换
不能将对象类型转化为不相干的类型
变量是程序中的最基本存储单元,要素包括变量名,变量类型和作用域
//数据类型 变量名 =值;
注意:
public static void main(String[] args){
int a = 1;//局部变量
}
实例变量:从属于对象,如果不自行初始化,会为这个类型的默认值 0、0.0
布尔值:默认是false
除了基本类型,其余的类型默认值都是null
public class Day1_2{
int age;
}
类变量:static,作用域为整个类
public class Day1_2{
static int a =1;
}
? 初始化后不能再改变值,不会变动的值
//final 常量名 =值
final A =1.0;
? 注意:常量名一般全部使用大写字符
? 修饰符不区分前后顺序
所有变量、方法、类名:见名知意
除常量:大写字母和下划线
驼峰原则:除了第一个单词外,其余单词首字母大写
类名:首字母大写和驼峰原则
其余都用:首字母小写和驼峰原则
? 运算符分为一元运算符、二元运算符等,x元运算符表示有几个运算的数据
? 整数运算具有long类型的数据时,输出结果的数据为long,其余皆为int类型
? 运算时,如果有高一级的数据,则输出结果的数据为高一级的数据
? 整数运算时,如果出现小数,会出现精度问题
? 幂运算不是^,想要进行幂运算要借助数学类工具
Math.pow(x,y)//=x^y
? 许多运算都需要借助类工具Math.
自增自减运算符:++、--……
作用:给数据+1或-1
int a =1
a++ //此时a=2
? a++与++a的区别
? 运算符在前(如++a)则先运算,再赋值
? 运算符在后(如a++)则先赋值,再运算
int a =1
int b = a++ //此时b=1,a=2
int c = ++a //此时c=3,a=3
逻辑运算符:&&、||、!输出值为布尔值
&&:只有运算的两个数据都为真,则输出true
||:只要运算的其中一个数据为真,则输出true
!:运算真,输出假
逻辑运算为短路运算,即如果执行代码时,如果第一个数据可以判断输出结果,则不会继续进行运算
int c =1;
System.out.println((c>1)&&(c++));
System.out.println(c);
? 输出结果为
? false
? 1
? 因为在第一个括号内c>1已经判断是假,则结果一定为假,因此c++不会被执行
位运算符:&、|、!、>>、<<、>>>、^(异或)
位运算符运算时是基于二进制的运算
位运算符运算效率极高!
/*
A=0010 0110
B=1001 0101
-------------------
A&B=0000 0100
A|B=1011 0111
A^B=1011 0011
!B=0110 1010
-------------------
<< =*2
>> =/2
0000 0001 1
0000 0010 2
<<1 =2
*/
拓展赋值运算符:+=、-=……
a+=b //a=a+b
a-=b //a=a-b
x?y:z //判断条件x,如果结果为true则执行y,如果结果为false则执行z
? 优先级从高到低,优先级为1的优先级最高,优先级为14的优先级最低
? 语法格式为:
package pkg1[.pkg2[.pkg3...]];
import package1[.package2....].(类名或*);
javadoc 参数 java文件
原文:https://www.cnblogs.com/chenxiaoyuharuki/p/14897968.html