注释
- 单行注释//
- 多行注释/**/
- 文档注释(JavaDoc)/**
标识符和关键字
-
关键字
-
标识符以 字母、$、_ 开始
-
区分大小写
-
可以中文或拼音(不建议)
数据类型
-
强类型语言 与 弱类型语言
Java: 强类型 变量需要先定义再使用(安全性高 速度慢)
-
基本数据类型 与 引用数据类型
基本数据类型:
默认为int以及double,long float 需要加L以及F声明
例:long num = 30L float = 3.11F
[!NOTE]
String 不是关键字,是“类”
输入大写 Int/Float 可以查看 值的范围
引用数据类型:
-
拓展
整数拓展
//整数拓展: 进制 进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 010; //八进制0 int i3 = 0x10;//十六进制0x 0~9 A~F 16 System.out.println(i); //10 System.out.println(i2); //8 System.out.println(i3); //17
浮点数拓展
float f=0.1f; //0.1 double d=1.0/10; //0.1 System.out.println( f==d ); //false float d1 = 23131312312312313f; float d2 = d1 + 1; System.out.println( d1==d2 ); //true
[!CAUTION]
最好完全不使用浮点数进行比较
float 有限 离散 舍入误差 大约 接近但不等于
double[!NOTE]
银行业务怎么表示? 钱
数学工具类 BigDecimal字符拓展
-
字符本质还是数字
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 //所有的字符本质还是数字 //编码 Unicode 表:(97=a 65=A) 2字节 0~65536 // U0000 UFFFF char c3='\u0061'; System.out.println(c3);//a
-
对象 从内存分析
String sa = new String("hello world"); String sb = new String("hello world"); System.out.println( sa==sb );//false String sc = "hello world"; String sd ="hello world";//true System.out.println( sc==sd );
布尔值拓展
boolean flag = true; if(flag==true){} //新手 if(flag){} //老手 //代码要精简易 Less is More!
-
-
知识拓展
32位电脑 最大装 4GB 内存条 仅可使用32位CPU
64位电脑 最大装 128GB 内存条 可使用32/64位CPU
两者区别在 寻址 能力不同
类型转换
由于JAVA是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
运算中,不同类型的数据先转化为同一类型,然后进行计算。
类型转换分为强制转换和自动转换
强制转换 高-低 (类型)变量名
自动转换 低-高
低 ------------------------------------------> 高
byte, short, char -> int -> long -> float -> double
-
强制类型转换
int i = 128; //128 byte b = (byte)i; //内存溢出-128 System.out.println((int)23.7); //23 System.out.println((int)-45.89f); //-45 char c = 'a'; int d = c+1; System.out.println(d); //98 System.out.println((char)d); //b
-
自动类型转换
int i = 128; //128 double b = i; //128.0
-
注意
[!CAUTION]
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题!
变量和常量
变量:可变值
-
Java是强类型语言
每个变量必须声明器类型(变量名、变量类型、作用域)
-
定义
数据类型 变量名 = 值;
(可同时定义多个同类型变量)
int x = 10; int x=10,y=20,z=30;//程序可读性差,不推荐
-
变量作用域
-
类变量:从属于类,用 static 标识
-
实例变量:从属于对象
默认值:整数0 浮点数0.0 布尔值 false
除基本类型,其余默认值为null
-
局部变量:在方法里
public class text{ static int a = 10; //类变量 String str = "hello"; //实例变量 public void method(){ int i = 0; //局部变量 } }
-
-
变量命名规范
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary
除了第一个单词以外,后面的单词首字母大写 lastname -> lastName
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX VALUE
-
类名:首字母大写和驼峰原则: Man,GoodMan
-
方法名:首字母小写和驼峰原则:run()
-
常量:不可变值
-
定义:在变量前加 “ final ”
static final double t = 3.14; //final static double t = 3.14; //final为修饰符,不存在先后顺序
运算符
-
算术运算符: +,-,,/,%,++,--
-
赋值运算符 =
-
关系运算符: >,<,>=,<=,=,!=instanceof
-
逻辑运算符: &&,| ,!
-
位运算符: &,|,^,<<, >>, >>>(了解!!!)
-
条件运算符 ? :
-
扩展赋值运算符: +=,-=,*=,/=
优先级:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
自增自减++--
int a = 3;
int b= a++;//执行完这行代码后,先给b赋值,再自增
//a = a + 1;
//a = a + 1;
int c= ++a;//执行完这行代码前,先自增,再给b赋值
逻辑运算符
与运算( && ): 两个变量都为真,结果才为true
或运算( || ): 两个变量有一个为真,则结果为true
非运算( ! ): 如果是真,则变为假,如果是假则变为真
//短路运算
int c=5;
boolean b = (c<4)&&(c++<4);
//结果 c=5 语句3中 c<4 直接返回 false, (c++)不执行
位运算
/*
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 与:11才为1
A/B = 0011 1101 或:有1则为1
A^B = 0011 0001 异或:相异则为1
~B= 1111 0010 非运算
2*8=16 2*2*2*2
位运算效率极高!!!
<< *2 >> /2
*/
System.out.println(2<<3) //16
/*
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
*/
条件运算符(三元运算符)
//x ? y : z
//如果 x==true ,则结果为y,否则结果为z
int score =50;String type= score<60 ?"不及格":"及格";//必须掌握
// if
System.out.println(type); //不及格
注意
//字符串连接符 + , String 数字前后区分不同
System.out.println(""+10+20); //1020
System.out.println(10+20+""); //30
包机制
-
为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
-
包语句的语法格式为:
package pkg1[. pkg2[. pkg3.]];
-
一般利用公司域名倒置作为包名
-
为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包。
-
使用"import"语句可完成此功能
import pkg1[. pkg2[. pkg3.]].(classname|*); import com.baidu.base.* //导入这个包下所有的类
JavaDoc
封装好的函数,就叫做API(Application Programming Interface),即应用程序编程接口。
java有自己的API帮助文档(网上搜索)
- javadoc命令是用来生成自己API文档的
- 参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
分为类注释和方法注释(内容自动补齐)
生成javadoc文档(命令行/idea生成)
打开java文件所在位置命令窗口
输入命令 Javadoc -encoding UTF-8 charset UTF-8 文件.java
打开生成的index.html文件
标签:JAVA,变量,int,System,基础知识,运算符,println,out From: https://www.cnblogs.com/CLB-BB/p/18311741