java求学之路--基础篇

注释

单行注释

// 单行注释

多行注释

/* 
多行注释 
多行注释
*/

文档注释

/** 
* javaDoc:文档注释
* @Descriotion 
* @Author 
*/

关键字

标识符

标识符注意点

  1. 标识符由字母、数字、_(下划线)、$组成,不能以数字开头
  2. 不能用Java中的关键字
  3. 标识符采用有意义的简单命名
  4. 大小写敏感

数据类型

强类型语言:C/C++、Java
弱类型语言:python、JavaScript
java为强类型语言

  • 强类型语言在变量的使用有严格的规范,必须先定义再使用

java数据类型分为两大类

代码:

// 八大基本数据类型

//整数
byte num2 = 20;
short num3 = 30;
int num1 = 10;
long num4 = 30L;

//浮点数
float num5 = 50.01F;
double num6 = 3.000202020202;

//字符
char name = 'A';
//字符串, String不是关键字,是类

//布尔值
boolean flag = true;

数据类型扩展

整数扩展

//整数扩展:     进制      二进制0b       十进制     八进制0        十六进制0x
int i = 10;
int j = 010;
int k = 0x10;

System.out.println(i);	//10
System.out.println(j);	//8
System.out.println(k);	//16

浮点数扩展

//浮点数扩展     银行业务怎么表示?钱  ==> BigDecimal 数学工具类

//float     有限  离散  舍人误差  大约  接近不等于
//double
//少用浮点数进行比较
float f = 0.1f;     //0.1
double d = 1.0/10;  //0.1

System.out.println(f==d);   //false

float d1 = 231231231231f;
float d2 = d1+1;

System.out.println(d1==d2); //true

字符扩展

//字符拓展
char c1 = 'a';
char c2 = '中';

System.out.println(c1);
System.out.println((int)c1);    //强制转换
System.out.println(c2);
System.out.println((int)c2);
//字符本质是数字   编码Unicode 2字节   中==20013
char c3 = '\u0061';
System.out.println(c3);     //a

// 转义字符     如:\t   制表符

**布尔值扩展

if(flag == true){} ==> if(flag){}

其他拓展

String sa = new String("hello");
String sb = new String("hello");
// 比较的是引用数据类型,则比较的是是否是同一个对象(比较地址)
System.out.println(sa==sb);

String sc = "hello";
String sd = "hello";
// 比较的是基本数据类型,则比较的是数值是否一致(比较数值)
System.out.println(sc==sd);
//需要从对象 内存分析

数据类型转换

int i = 128;
byte b = (byte) i;  //内存溢出
//强制转换      高->低
//自动转换      低->高
System.out.println(i);
System.out.println(b);
/*
注意点:
1. 不能对布尔类型进行转换
2. 不能把对象类型转换不相干的类型
3. 把高容量转换到低容量时,强制转换
4. 转换时可能存在内存溢出,或者精度问题
*/
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);      //'a'+1 => 98
//==========================================================
//操作比较大的数的时候,注意溢出问题
        //JDK7新特性 数字之间可以用下划线分割
        int money = 10_0000_0000;
        int num = 10;
        int total = money*num;              //计算时会溢出
        long total2 = money*num;            //无法解决溢出问题,转换之前已经溢出
        long tatal3 = money*((long)num);    //成功解决本例中的溢出问题
        System.out.println(money);

变量、常量、作用域

变量
java变量是程序最基本的存储单元,其要素包括变量名、变量类型和作用域

type varName [=value]

注意:
每个变量都有类型,类型可以是基本类型,也可以是引用类型
变量声明是一条完整语句,都必须以分号结尾
变量可分为:局部变量,类变量,实例变量
局部变量:在方法中 type varName
类变量:在类属性中 static type varName
实例变量:在类属性中 type varName new() 后才能使用

public class Demo {
    //类变量 static
    static double salary = 2500;

    // 实例变量:从属于对象。不初始化,则为默认值(默认值为0,0.0,false,null)
    String name;
    int age;

    public void add(){
        //局部变量:必须声明和初始化
        int i;
    }
}

常量
可以理解为一种特殊的变量,值被设定后,在程序运行中不允许被修改。

final 常量名 = 值		//常量名一般为大写
* 修饰符 不存在先后顺序

变量的命名规范
所有变量、方法、类名:见名知意
类成员变量、局部变量、方法名:首字母小写和驼峰原则
类名:首字母大写和驼峰原则
常量:大写字母和下划线

运算符

自动类型转换

long a = 123123123123123L;
int b = 123;
short c = 10;
byte d = 8;
double e = 123.123;

System.out.println(a+b+c+d);    //long
System.out.println(b+c+d);      //int
System.out.println(c+d);        //int
System.out.println(a+e);        //double

一元运算符

int a = 3;
a = a++;
System.out.println(a);	//3

int b;
b = a++ + ++a;      
//a=3 ==> a++=3 ==> a=4 ==> ++a=5 ==> b=3+5=8
System.out.println(b);	//8

//幂运算 java中不存在2^3==2*2*2
Math.pow(2,3) == 2*2*2

逻辑运算符

  • 短路运算
A&&B		运算中如果A为假则不运算B;
A||B		同理;

位运算

三元运算符

x ? y : z
如果x为 true,则结果为 y,否则结果为 z

包机制

  • 用于区别类名的命名空间
  • 包语句的语法格式:
package pk1[.pkg2[.pkg3]];
  • 一般利用公司域名倒置作为包名
  • 包的本质是文件夹
  • 导入外部包
import 包名
import 包名.*		//倒入包下所有的类

JavaDoc

javadoc命令是用来生成自己的API文档的
注释方法见 注释

cmd:javadoc -encoding UTF-8 -charset UTF-8 Doc.java

IDEA使用javaDoc
最上方工具栏 ==> tools ==> Generate javaDoc

posted @ 2022-02-12 00:57  坏人不会飞  阅读(27)  评论(0编辑  收藏  举报