JAVA基础小结

1.注释、标识符、关键字

注释:顾名思义,就是用来标注解释代码的。

注释分为三种:
1.单行注释:格式 // 注释内容
2.多行注释:格式 /* 注释内容 */
3.文档注释:格式 / ** 注释内容 */ 文档注释具备一定的功能性,但是用的相对较少。

标识符:类名、变量以及方法名等都被成为标识符。

标识符格式:所有标识符都应该以字母(A-Z或a-z)、美元符号($)、或者下划线开始,首字母之后可以是字母、美元符号、下划线或数字的任意组合,不能使用关键字作为变量名或方法名,在java中标识符是大小写敏感的,因此一定要注意大小写的规范,变量可以使用中文命名但是不推荐,并且出于代码的可读性,最好不要用拼音做变量名,类名也可以使用中文但是不推荐。

关键字:事先定义好具有特殊意义的标识符

常见的关键字如:public、class等。再次强调不可以将关键字作为变量名使用,否则会报错。

2.数据类型

基本数据类型

1.数值类型
整数类型:byte、short、int、long
浮点类型:float、double
字符类型:char
2.boolean类型:true/false

引用类型

类、接口、数组

注:java是强类型语言,要求变量的使用要严格符合规定,所有的变量必须先定义后才能使用。

3.类型转换

由于java强类型语言的性质,运算是难免会遇到需要将变量转换类型的时候。
容量高低顺序如下:
低--------------------------------------------------------------->高
byte、short、char—>int—>long—>float—>double(小数的优先级大于整数优先级)
类型转换分为两种l:
1.强制(类型)转换:变量容量由高到低转换时需要使用强转

int i = 128;
byte b = (byte)i;
System.out.println(b);  //b得到的值为-128

2.自动(类型)转换:变量容量由低到高时会进行自动转换

int i = 128;
double c = i;

注意点:
1.由高到低进行类型转换有可能出现内存溢出从而得不到自己想要的值得情况。如强转类型的例子。
2.不能对布尔值进行类型转换。
3.不能把对象类型转换为不相干的类型。
4.在把高容量类型转换为低容量类型要使用强转,反之自动转化。
5.转换时应注意溢出问题或者精度问题,例如浮点类型转为整数类型容易出现精度问题。

int money = 10_0000_0000;
int year = 20;
int total = money*year;
long total2 = money*year;
long total3 = money*((long)year);

System.out.println(total);//-1474836480
System.out.println(total2);//-1474836480
System.out.println(total3);//20000000000只有这个会得到正确的值

知识点:total出现负数是因为溢出问题,total2出现负数是因为,我们在进行强转的时机是在计算得到结果并赋值之后,因此前两个得到了负数。
total3在进行计算时就进行了强转,因此使得运算时的容量足够而没有出现溢出问题。
注:long类型的数字后面要加L,小写l其实也可以,但是不推荐,因为在编辑器中我们容易将l和数字1混淆,有时不注意可能会出现bug而自己又很难看到。

4.变量、常量、作用域

1.变量:可以变化的量 格式:type varName(变量类型 变量名)
由于java是强类型语言,因此每个变量必须声明其类型。

int a = 1;
int b = 2,c = 3;//可以一行定义多个变量,但不建议这样做,因为会降低java的可读性。

变量总结:
a.每个变量都有类型,类型可以是基本类型,也可以是引用类型。
b.变量名必须是合法的标识符。
c.变量声明是一条完整的语句,因此每一个声明必须以分号(英文)结束。

2.常量:初始化后不能再改变的值,不会变动的值。常量可以理解为一种特殊的变量,他的值被设定后,在程序运行中不允许被改变。
格式:final 常量名 = 值 常量名一般用大写字符。

final double PI = 3.14;
static final double PI = 3.14;//如果有修饰符,final可以放在修饰符后面也可以放在修饰符前面
// final static double PI = 3.14;

3.变量作用域:指变量的作用范围
a.局部变量:写在方法中,从属于方法,其变量只在方法中有作用

public class Hello {
    public static void main(String[] args) {  //name这个变量生命周期从此处开始
       String name = "Nicholas";
       System.out.println(name);
    }
}

注:必须声明并初始化值
b.实例变量:写在方法外,从属于对象,只声明会具有默认值

public class Hello {
    static String name = "Nicholas";
    public static void main(String[] args) {
    	System.out.println(name);
    }
}

默认值:数据类型为0或者0.0,布尔值为false,除了基本类型,其余类型均为null。
4.变量的命名规范:
a.所有变量、方法名、类名要见名知意。
b.类成员变量:首写字母小写并符合驼峰原则;如monthSalary除第一个单词以外,后面单词首字母均大写。
c.局部棉量:首写字母小写并符合驼峰原则。
d.大写字母和下划线;如MAX_VALUE。
e.类名:首字母大写并符合驼峰原则;如Man。
f. 方法名:首字母小写并符合驼峰原则;如runRun()。

5.基本运算符

java语言支持如下运算符:
1.算数运算符:+、-、、/、%、++、–
2.赋值运算符:=
3.关系运算符:>、<、>=、<=、!=、instanceof
4.逻辑运算符&&(与)、||(或)、!(非)
5.位运算符:&、|、^、~、>>、<<、>>>
6.条件运算符: ?:
7.拓展赋值运算符:+=、-=、
=、/=

算数、赋值、关系运算:

public class Demo {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 25;
        int d = 25;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);//除法容易出现小数,所以需要进行强转,否则容易报错。

        long e = 2161631531L;
        int f = 123;
        short g = 10;
        byte h = 8;
        System.out.println(e+f+g+h);//如果有一个为long类型则结果为long类型
        
        //关系运算符返回的结果为布尔值:true、false
        int i = 10;
        int j = 21;
        System.out.println(i>j);
        System.out.println(i<j);
        System.out.println(i==j);
        System.out.println(i!=j);
        //取模运算
        System.out.println(j%i);
    }
}

自增运算:

public class Demo {
    public static void main(String[] args) {
        int a = 3;
        int b = a++;
        //a=a+1相当于此处u隐藏了一句此代码。a++是赋值之后进行自增。
        System.out.println(a);//4
        //a=a+1 这是因下面一行代码进行的自增运算。。++a是先进行自增再进行赋值
        int c = ++a;
        System.out.println(a);//结果为5
        System.out.println(b);//结果为3
        System.out.println(c);//结果为5
    }
}

自增运算符属于一元运算符,因为单个数字就可以进行运算。
拓展:幂运算

double pow = Math.pow(3,2);
System.out.println(pow);

幂运算不可以用^,在java中需要使用Math工具类来进行运算。

逻辑运算:

        boolean a = true;
        boolean b = false;
 		System.out.println(a && b);//与运算:两者均为true则结果为true。因此此处结果为false
        System.out.println(a || b);//或运算:两者其中一个为true则结果为true
        System.out.println(!(a && b));//非运算,将结果取反,因此结果为true

注:与运算会有短路运算的情况,当前者条件已经为false的情况下,后者不会进行运算。(可将前面条件设置为发了,后面条件设置为进行自增运算自行验证。)

位运算:与二进制运算法则有关。
基本规律:左移一位相当于乘以2,右移一位相当于除以2.

拓展赋值运算:

a += b;//相当于a = a + b其他同理 

字符串连接符:“+” 字符串在前后面会变成字符串,如果在后面,则先进行运算。
例:

int a = 10;
int b = 20;
System.out.println(" "+a+b);//结果为  1020
System.out.println(a+b+" ");//结果为  30

三元运算符: ? :
格式:x?y:z
如果x为true则结果为y,否则结果为z。

int score = 80;
String type = score < 60?"不及格":"及格";
System.out.println(type);//80>60因此为false,结果取后者,及格。

6.包机制

包机制的本质就是文件夹,为了更好的组织类,java提供了包机制,用于区别类名的命名空间。
包语句的语法格式:
packaage pkg[.pkg2[.pkg3…]]
规范:
一般利用公司域名倒置作为包名:如www.baidu.com则包名为(com.baidu.www)为了能够使用一个包的成员,我们需要在java程序中明确导入该包。可以使用import语句完成此功能。
例:

import com.nicholas.*;//*为通用符,会导入包中所有类。*也可以换成你要具体使用的类。

7.在idea中进行JavaDoc文档生成

步骤:Tools—>Generate Javadoc—>配置存储地址、locale:zh_CN—>
Other command line areguments中填写:-encoding UTF-8 =charset UTF-8
最后再ok就好啦。然后去文件夹中找到html文件打开就可以了。
具体步骤可参考一下两篇博文
https://blog.csdn.net/weixin_42140580/article/details/89635775
https://blog.csdn.net/weixin_45750637/article/details/108612629

结语

不知不觉就总结了这么多,希望自己可以坚持下去!加油!
最后附上我学习的地址学相伴
是一个老师创建的学习网站,里面的学习视频是整套有序的。老师讲的也很好,目前平台只上线了java的学习视频,如果选择自学java的小伙伴,不妨来试试吧。
还有以上总结的内容不到位或者有错误的地方还请各位小伙伴批评指正。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值