java基础语法完结,精心认真整理的,希望和入门java的小伙伴一起提升吧.
前言:这篇博客和上一篇发布的博客这两篇博客我是吧java所有语法知识点基本全部覆盖的梳理整理完了。我整理完后自己看了看觉得收获很大,我感觉整理的这些每天在学习的时候或者空闲时间都可以翻出来看一看,每次看我相信你都会有不一样的收获的,千万不要小看这些java的语法基础,因为之前我学习c的时候就是由于前期不重视语法基础导致后来还要花费时间去巩固,所以对于java的学习,我一定会不断的梳理,总结,复习,回顾,多思考的!我会把我学到的所有知识都总结起来,这样不仅可以给予正在入门java的小伙伴一点帮助,同时也可以提升自我!乐而而不为呢?
————当我真心在追寻著我的梦想时,每一天都是缤纷的,因为我知道每一个小时都是在实现梦想的一部分。
文章目录
-
- 变量
-
- 变量的作用域
- 常量 Constant
- ==变量名的命名规范==
- 运算符 Operator
- 优先级
- ==包机制==
- ==JavaDoc==
- 小彩蛋
- 总结
变量
-
java变量是程序中最基本的存储单元,其要素包含变量名,变量类型,作用域
-
每个变量都有类型,可以是基本类型(八大基本类型),可以是引用类型(String类)
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每个声明都必须以分号(英文)结束
-
不建议一行声明多个变量,(可读性差)
变量的作用域
-
类变量:(被static 声明,在方法外声明)
- 从属于类,随着类同进同出
-
实例变量:(没有被static声明,在方法外声明)
- 从属于对象,可以不初始化
- 如果不自行初始化 这个类型的默认值 整形的被自动初始化为0 浮点型的被自动初始化为 0.0
- 布尔值默认是: false
- 除了基本类型(八大基本类型),其余的默认值都是 null
-
局部变量:(在方法内声明)【必须声明和初始化!】
public class Variable{ static double salary=2500;//(这里自动转换 int --> double)static int allClicks=0; //类变量 String str="hello,world"; //实例变量 public static void main(String[] args){int i=0; //局部变量 //实例变量使用方法 //变量类型 变量名字 =new 变量类型(); Variable variable=new Variable(); System.out.println(variable.str); //类变量的简单使用 System.out.println(salary);}}
常量 Constant
- 常量就是初始化(initialize)后不能再改变的值,不会变动的值
- 所谓常量可以理解成一种特殊的变量,值被设定后,在程序运行的过程中不会被改变
//使用方法: final 常量名 =值final double PI=3.1415926;
- 常量名一般使用大写字符
变量名的命名规范
- 所有变量、方法、类名 要【见名知意】
- 类成员变量,首字母小写和驼峰原则:monthSalary;(除了第一个单词外,后面单词首字母大写)
- 局部变量:首字母小写,驼峰原则
- 常量:大写字母和下划线 MAX_VALUE
- 类名:首字母大写 驼峰原则
- 方法名:首字母小写,驼峰原则
运算符 Operator
- 算数运算符:+ - * %(取余) / ++(自增) --(自减)
long a=13246579132L;int b=145;short c=10;byte d=8;System.out.println(a+b+d+d);//结果为long类型System.out.println(b+d+d);//结果为int类型System.out.println(d+d);//结果为int类型//小总结:在计算算数时:若一个式子中含long或double,则其运算的结果会被自动转化为long或者double类型//在整形运算中,若没有出现long类型的变量,则所有的运算最后都会被转化为int类型.//就算是 c+d (short 类型 + byte类型)其最终的结果还是int类型。这点要着重记忆//幂运算,再java里面不支持 ^ 但是我们可以用数学工具 Math.pow(3,3);
// ++ -- 自增 自减 一元运算符//小测试int a=3;int b=a++;int c=++a;System.out.println(a);//输出结果:5System.out.println(b);//输出结果:3 b=a++(是先把a的值赋给b,a在++) System.out.println(c);//输出结果:5 c=++a (此时a已经是4 然后a再++就是5再赋值给c)
-
赋值运算符:=
-
关系运算符:> = <= == != instanceof(先了解,面向对象的会使用)
- 其结果一定是布尔值(true/false)
int a=10;int b=20;System.out.println(a>b);//输出结果:falseSystem.out.println(a<b);//输出结果:trueSystem.out.println(a==b);//输出结果:falseSystem.out.println(a!=b);//输出结果:true
-
逻辑运算符:&& || !
// 与(and) 或(or) 非(取反)boolean a=true;boolean b=false;System.out.println(a&&b);//输出:false &&(逻辑与运算)(两个变量都为真,结果才为真)System.out.println(a||b);//输出:true ||(逻辑或运算)(两个变量只要有一个为真,结果就为真)System.out.println(!(a&&b);//输出:true !(如果是真,就变为假,如果是假,则变为真)// 短路运算 重点知识!!!int a=5; boolean b=System.out.println((a<4)&&(++a<4)); System.out.println(a); //输出:5 System.out.println(b); //输出:false //总结:对于短路问题 只要 && 左边的变量为假,&&右边的变量就不会被执行!直接跳过该语句
- 位运算符:~ & | ^ >> <>>(了解)
A=0011 1100B=0000 1101 A&B =0000 1100 // &(与) 只要有一个位是0,&的结果就为0,两个位全部位1&的结果才位1A|B=0011 1101 // |(或) 只要有一个位是1,|的结果就为1,两个位全部位|的结果才位0A^B=0011 0001 //相同位0 不相同为1~B=1111 0010 //这个好理解,所有位按位取反 0变1 1变0 // << 相当于成乘2// >> 相当于成除以2 System.out.println(2<<3);//输出结果为 8 如果记住上面的结论碰到这种题就可以轻松拿下了
-
条件运算符: ?:
//条件运算符又称为三元运算符:形式 x?y:z; (如果x==true 结果为y否则为z)[这个也是要掌握的]
-
扩展赋值运算符:+= -= *= /=
- 小面试题
//字符串拼接 + Stringint a=10;int b=20; System.out.println(""+a+b);//输出:1020 System.out.println(a+b+"");//输出:30 //结论:对于含+并且还有String类的运算中,如果String类(对于本题就是"")在+的左边的话,那么后面的内容都会被自动转化为字符串类型;如果String类在 + 拼接运算符的右边的话,那么 +(拼接符) 前面是什么形式的内容不变;自己可以在编译器上测试一下!这样子记忆更深刻 这个知识点是重点!!!
优先级
- 这个是优先级的先后顺序表,但是我个人建议大家在学习的时候不用刻意去记忆口诀或者死背这些优先级的先后顺序,因为我学习c语言的时候我当时也是死背这些优先级,但是长时间之后我还是对于某个运算符优先级拿不准;在这里,我给大家一个小技巧,我们知道()的优先级是最高的,我们在写代码的时候可以多加一些(),这样的话不仅使我们代码的可读性高,而且也不用去死记而出现不必要的失误。
包机制
-
引例
-
开始的时候,我想创建两个相同名字的文档是不可以的
-
但是当我在新创建两个文件夹的时候就可以在这两个文件夹里存放相同名字的文档了。这就引出了包机制的本质就是文件
-
为了更好的组织类,java提供了包机制,用于区别类名的命名空间
-
一般利用公司域名倒置作为包名;Fg: com.Cx_330
-
定义包用 package. 导入包用import.
-
如果一个包中又很多类我们可以用import.com.base.*;这样的话就可以将这个包里面所有类都导入进来了
JavaDoc
-
JavaDoc是用来生成自己的API文档的
-
相关的参数信息
/** * @author Cx_330 * @version 1.0 * @since 1.8 *///除此之外,还有// * @throws 抛出异常情况// * @return 返回值情况// * @param 参数名// * @author 作者名// * @version 版本号//* @since JDK的版本
-
在之前我的博客有关如何使用cmd控制台,如果你学会的话你就可以简单的写一些自己的API文档
- 点击红框那个就可以自动生成你自己写的JavaDoc文档了。
小彩蛋
-
ctrl + D 可以复制当前行到下一行:(不用再按两下ctrl c+ctrl v了)也算是节约点时间吧。
-
ctrl + shift+n 可以自动生成文件夹
-
cast 转换(积累一个英语单词吧)
总结
通过这几天短暂的学习,我把java基础语法给学完了,我知道我要学习的知识还有很多很多,但是我相信,我一定会坚持下去的!为了自己的梦想!在未来,即便我会遇到很难解决的Bug,尽管我会碰到很难理解的知识点,但是我绝不会退缩的!我会勇往直前、不断学习,不断的提高自我的!我也相信也有很多小伙伴在为了自己的梦想不断的拼搏!我希望我们这些志同道合、为自己的理想奋斗的人一起努力,一起拼搏!不断学习!每天都能够高效的学习!从现在开始,为未来找一份好的工作打下坚定的基础!加油吧!我的小伙伴们!嘿嘿,如果觉得我的内容给你有帮助的话,也可以点赞关注哈。我会不断分享自己的干货的!
————只有流过血的手指,才能弹出世间之绝唱!