Java基础01:注释(书写注释是一个非常好的习惯)
单行注释 //
//输出一个Hello world
多行注释 / /
/*
多行注释多行所行
*/
文档注释
/**
*java doc
*java doc
*java doc
*/
Java基础02:标识型和关键字
重要Java关键字列表
abstract:它利用计算机来完成抽象。它是与类和方法相关的非访问修饰符。
enum:它利用Java描述enum。
instanceof:它用于知道对象是否是预定义写入(类、子类或接口)的情况。
private:它是一个访问修饰符。任何被宣布为私有的东西都不能在其类外看到。
protected:如果您需要使组件能够在当前类之外查看,那么,只需对特定于您的类的子类进行查看,此时将宣布该组件。
public: 任何人从任何地方都可以到达的地方。
访问修改函数
static:它用于使成员(块、方法、变量或嵌套类)可以独立于任何其他成员使用,而无需参考特定情况。
strictfp:用于限制、浮点、浮点运算和计算,并在浮点变量中执行任务时保证每个阶段的结果相同。
synchronized:它用于在Java中获得适用于块和方法的同步。
transient:作为序列化的一部分使用的因子修饰符。在序列化的季节,如果我们不想对记录中的特定变量进行多余的估计,那么此时,我们使用transient关键字。
volatile:如果修饰符告诉编译器,由不稳定变量调整的变量通过程序的不同部分发生惊人的变化,则使用volatile。
Java关键字的类型
Enum
Enum有效地表示编程语言中命名常量的集合。例如,一副扑克牌中的四套西服可能有四个名为Club、Diamond、Heart和Spade的统计员,其中一个位置有一个名为西服的已识别类别。不同的插图结合了正常识别的构图(如行星、一周中的几天、色调、方位等)。
当我们在编译时知道每一个可能的值时,JavaEnum就可以利用它。例如,这可能包括菜单上的决策、调整模式、召唤线横幅等。枚举写入中常量的排列永远保持不变并不重要。
Strictfp关键字
strictfp是Java中的一个关键字,它利用限制浮点值,并在执行滑行点变量中的任务时保证每个阶段的结果相同。
浮点计算从属于平台,即当类文档在各种平台(16/32/64位处理器)上运行时,不同的输出(浮点变量)完成。为了解决这类问题,根据IEEE754滑行点计数指南,以JDK1.2的形式提出了strictfp口号。
Strictfp的重要关注点:
Strictfp修饰符按原样使用类、接口和技术。
Strictfp无法使用独特的策略。尽管如此,它还是利用了理论类/接口。
由于接口的技术当然是动态的,strictfp不能与接口内的任何方法一起使用。
标识符注意点
所有标识符都应该以字母,或者美元符号($)或者下划线(_)开始
不能使用关键字作为变量名或者方法名
大小写非常敏感
不能以数字或者其他符号开头
可以使用中文名和拼音,但是不建议使用,不方便后期维护
Java基础03:数据型和关键字
基本数据类型
整数类型
byte 占1个字节(8位)
short 占2个字节(16位)
int 占4个字节(32位)
long 占8个字节(64位)
浮点数类型
float 4字节
double 8字节
字符类型
char 2字节
Boolean类型
1位:true false
public class demo02 {
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;
int num3 = 40;
long num4 = 100L; //Long 类型要在数字后加个L
//小数:浮点数
float num5 = 50.1F; //float 类型要在数字后加个F
//字符
char name = 'A';
char name3 = '张';
//字符串
String name2 = "张三";
//布尔类型
boolean flag = true;
}
}
Java基础04 数据类型扩展及面试题
最好完全避免使用浮点数进行比较!!!!!!!!
public class demo03 {
public static void main(String[] args) {
//整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010;
int i3 = 0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
//===================================================================
//浮点数拓展
//===================================================================
//float: 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
float f = 0.1f;
double d = 0.1;
System.out.println(f==d); //判断是否相等 :false
System.out.println(f);
System.out.println(d);
//字符
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int) c1); //强制转换,将a转化为数字
System.out.println(c2);
System.out.println((int) c2); //强制转换
// 所有字符本本质还是数字
//转义字符
// \t 制表符
// \n 换行
}
}
Java基础05 类型转换
运算中,不同类型的数据先转换为同一类型,然后进行运算。
从低到高位数据类型:byte 、short、char—>int—>long—>float—>double
public class demo05 {
public static void main(String[] args) {
int i = 128;
byte b = (byte) i; //强制转换
System.out.println(i);
System.out.println(b); //溢出
}
}
强制转换 (类型)变量名 高—>低位
自动转化 低—>高位
注意点:
不能对布尔值进行转换
不能把对象类型转换为不想干的类型
在把高容量转换到低容量的时候,强制转换
转换的是时候可能存在内存溢出,或者精度问题!!!!!!!!
public class demo05 {
public static void main(String[] args) {
int i = 128;
byte b = (byte) i; //强制转换
System.out.println(i);
System.out.println(b); //溢出
System.out.println((int)23.7); //double类型 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
}
}
public class demo06 {
public static void main(String[] args) {
// 操作比较大的数字的时候,注意溢出的问题
// JDK7 新特性,数字之间可以用下划线分割
int money = 10_0000_0000L; //Long 类型要在数字后加个L
int years = 20;
int total = money*years; //-1474836480 ,计算的时候已经溢出了
long total2 =money*years; //默认是int类型,转换之前就已经存在问题了
long total3 = money*((long)years); //需要把years转换为long类型
System.out.println(total3);
}
}
Java基础06:变量、常量、作用域
类变量
实例变量
局部变量
public class demo08 {
// 实例变量,从属于对象;如果不进行初始化,这个类型的默认值 0 0.0
// 布尔值默认为false
//除了基本类型,其余的类型默认值为null
String name;
int age;
//类变量
static double salary = 2500;
//main方法
public static void main(String[] args) {
//局部变量;使用前必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字= new demo08();
demo08 demo08 = new demo08();
System.out.println(demo08.age); // 0
System.out.println(demo08.name); // null
//类变量
System.out.println(salary);
}
//其他方法
public void add(){
}
}
常量:设置之后不可再更改
常量修饰符: final
public class demo09 {
//常量修饰符: final
//修饰符,不存在先后顺序
static final double PI = 3.1415926;
public static void main(String[] args) {
System.out.println(PI);
}
}
命名规范
见名知意
类成员变量: 首字母小写和驼峰原则:monthSalary 除了第一个单词意外后面单词首字母大写。
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线 MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoogMan
方法名:首字母大写和驼峰原则:run(),runRun()
Java基础07运算符
算术运算符 +、-、*、/、%、++、–
赋值运算符 =
关系运算符 >、<、>=、<=、==、!=、instanceof
逻辑运算符 && || ! (与或非)
位运算符
条件运算符
拓展运算符
package operator;
public class demo1 {
public static void main(String[] args) {
//2元运算符号
//CTRL + D 复制当前行到下一行
int a = 10;
int b = 20;
int c = 30;
int d = 40;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b); //可能产生小数,强转成double
}
}
package operator;
public class Demo02 {
public static void main(String[] args) {
long a = 12345678946545L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b+c+d); //long
System.out.println(b+c+d); //int
System.out.println(c+d); //int 没有long类型,数据类型自动转为int类型,除非强转成double
}
}
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符号
int a = 10;
int b = 20;
int c = 21;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
System.out.println(c%a); //取余运算,模运算
}
}
Java基础08 自增自减运算符、初识math类
package operator;
public class Demo04 {
public static void main(String[] args) {
// ++ -- 自增、自减运算符
int a = 3;
int b = a++; // a = a +1 先赋值,再自增
System.out.println(a); // a = 4;
int c = ++a; // ++a a = a + 1; 先自增,再赋值
System.out.println(a);
System.out.println(a);
System.out.println(b);
System.out.println(b);
System.out.println(c);
System.out.println(c);
//幂运算 2^3 2*2*2 = 8
double pow = Math.pow(2,3);
System.out.println(pow);
}
}
Java基础09 逻辑运算符、位运算符
package operator;
public class Demo05 {
public static void main(String[] args) {
// 逻辑运算符 && || !
boolean a = true;
boolean b = false;
System.out.println("a && b " +(a && b)); //两个都是真,结果为真
System.out.println("a || b " + (a || b)); //两个其中有一个是真,结果为真
System.out.println("!(a && b) " + !(a && b)); // 如果为真,则为假;如果为假,则为真。
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4); // c<4 为false ,不运行c++ ,结果最后还是c = 5;
System.out.println(c);
System.out.println(d);
}
}
package operator;
public class Demo06 {
public static void main(String[] args) {
/*
* 位运算
* A = 0011 1100
* B = 0000 1101
*
* A&B = 0000 1100
* A|B = 0011 1101
* A^B = 0011 0001 //异或 相同取0,不同取1
* ~B = 1111 0010 //取反
*
* 2*8 = 16 2*2*2*2
* << *2 // 左移: 2倍
* >> /2 // 右移除: 除以2
*
*
* 0000 0000 0
* 0000 0001 1
* 0000 0010 2
* 0000 0011 3
* 0000 0100 4
* 0000 1000 8
* 0001 0000 16
*
*
* */
System.out.println(2<<3);
}
}
Java基础10 三元运算符及小结
package operator;
public class Domo07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b; // a=a+b
a-=b; // a=a-b
System.out.println(a);
//字符串连接符 + ,string
System.out.println(""+a+b); // 1020 其中的“+”是字符串连接符
System.out.println(a+b+""); // 30 其中a与b之间的“+”是运算符,b后面的的“+”是字符串连接符
}
}
package operator;
public class Demo08 {
public static void main(String[] args) {
//三元运算符
// x ? y :z
//如果 x==true ,则结果为y,否者为z
int score = 80;
String Type2 = score < 60 ? "不及格":"及格";
System.out.println(Type2);
}
}
Java基础11 包机制
包的本质就是一个文件夹()
一般利用公司域名倒置作为包名:com.luomoe.base
package com.baidu.base; //包
import com.baidu.base.demo03; //引入
import com.baidu.base.*; //引入 包内所有的类
Java基础12 JavaDoc生成文档
javadoc 命令是用来生成自己的API文档 /** 然后回车
/**
- @author zhangshan
- @version 1.0
- @since 1.8
*
*
*/
cmd命令(生成web文档)
javadoc -encoding UTF-8 -charset UTF-8 Doc.java
使用IEDA生成javadoc文档
(1)打开 idea,点击 Tools–> Generate JavaDoc,会弹出生成JavaDoc文档的配置页面。
(2)进行参数配置
(3)在输出目录里生成JavaDoc。
原创文章:https://www.qqhhs.com,作者:起航®,如若转载,请注明出处:https://www.qqhhs.com/27.html
版权声明:本站提供的一切软件、教程和内容信息仅限用于学习和研究目的,请于下载的24小时内删除;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!