java基础语法学习

注释

  1. 平时我们编写代码,在代码量比较少的时候,我们还可以看的懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。
  2. 注释并不会被执行,是写给我们写代码的人看的
  3. 书写注释是一个非常好的习惯
  4. 平时写代码注意规范
  • Java中的注释有三种:
  • 有趣的代码注释
    1. 单行注释://单行注释
    2. 多行注释:/* 多行注释 */
    3. 文档注释:/** 文档注释 */

标识符

关键字

java关键字

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符

标识符注意点

  1. 所有标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始

  2. 首字符之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组哈

  3. 不能使用关键字作为变量名或者方法名

  4. 标识符是大小写敏感

  5. 合法标识符举例:age,$salary,_value,__1_value

  6. 非法标识符举例:123abc,-salary,#abc

    public static void main(Staing[] args){
        String 王者荣耀="最强王者";
        System.out.println(王者荣耀);
    }
    
  7. 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low

数据类型

强类型语言

  • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

弱类型语言

Java的数据类型分为两大类

  1. 基本类型(primitive type)
  2. 引用类型(refernce type)

java两大数据类型

Long类型要在数字后面加个L

Float类型要在数字后面加个F

字符串,String不是关键字,是类

什么是字节

  1. 位(bit):是计算机 内部数据 存储的最小单位,11001100是一个八位二进制数
  2. 字节(byte):是计算机 数据处理 的基本单位,习惯上用大写B来表示
  3. 1B(bytp,字节)=8bit(位)
  4. 字符:是指计算机中使用的字母、数字、字和符号
  • 1bit表示一位
  • 1Byte表示一个字节1B=8b
  • 1024b=1KB
  • 1024KB=1M
  • 1024M=1G
  • 1024G=1TB

数据类型扩展的面试题讲解

整数拓展:进制、二进制开头:0b、八进制开头:0、十进制、十六进制开头:0x

int i=10;
int i2=010;//八进制的10等于8
int i3=0x10;//十六进制的10等于16    0~9  A~F  16

System.out.println(i);//输出10
System.out.println(i2);//输出8
System.out.println(i3);//输出16

浮点数拓展

银行业务怎么表示?不能用float表示了需要用到BigDecimal 数学工具类

float:会有限、离散、舍入误差(四舍五入)、接近但不等于

double:

最好完全使用浮点数进行比较

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

float f1=23123123123f;
float d1=f1+1;
System.out.println(f1==d1);//true

字符拓展

所有的字符本质还是数字

编码 Unicode 表:(97=a 65=A) 2字节

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

** 转义字符**

  1. \t:制表符
  2. \n:换行

转义字符

布尔值拓展

代码要精简易读

boolean flag=true;
if (flag==true){};//新手
if (flag){};//老手

类型转换

  1. 由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。

    byte,short,char–>int–>long–>float–>double

java数据类型从小-大顺序图

  1. 运算中,不同类型的数据先转化为同一类型,然后进行运算。

  2. 强制类型转换-高到底:(类型)变量名

    int i=128;
    byte b=(byte)i;//byte最大127赋值了128,结果为-128,超出就会产生内存溢出
    System.out.println(b);//输出-128
    
  3. 自动类型转换-低到高会自动转换

    int i=128;
    double b=i;
    System.out.println(b);//输出128.0
    
  4. 注意点

    • 不能对布尔值进行转换

    • 不能把对象类型转换为不相关的类型

    • 在把高容量转换到低容量的时候,强制转换

    • 转换的时候可能存在内存溢出,或者精度问题

      System.out.println((int)23.7);//输出23
      System.out.println((int)-45.89f);//输出45
      
  5. 强制转换和自动转换实例

    //低容量到高容量自动转换
    char c='a';//等于97
    int d=c+1;
    System.out.println(d);//输出为98;a=97
    
    //强制转换高容量到底容量
    char c='a';
    int d=c+1;
    System.out.println((char) d);//输出为b;b=98
    
  6. 操作比较大的数时候,注意溢出问题

    //JDK7新特性,数字之间可以用下划线(_)分割,而且下划线还不会被输出
    int money=10_0000_0000;
    int years=20;
    int total=money*years;//-1474836480,计算的时候内存溢出了
    //用long接收结果还是-1474836480
    long total2=money*years;//因为默认是int,转换之前已经存在问题了
    long total3=money*(long)years;//可以先把一个数转换为Long
    System.out.println(total);//输出为-1474836480
    System.out.println(total2);//输出为-1474836480
    System.out.println(total3);//输出为20000000000
    

变量、常量、作用域

1.变量

  1. 变量是什么:就是可以变化的量!

  2. Java是一种强类型语言,每一个变量都必须声明起类型

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

    //数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量。

    type varName [=value] [{,varName[=value]}];

  4. 注意事项:

    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
    • 变量名必须是合法的标识符
    • 变量名是一条完整的语句,因此每一个声明都必须一分好结束

2.作用域

  1. 类变量

  2. 实例变量

  3. 局部变量

    public class Variable{
        static int allClicks=1;//类变量加static关键词
        String str="hello world";//实例变量,从属于对象;如果不自行初始化,会是这个类型的默认值0或者0.0
        //布尔值:默认是false
        //除了8个基本类型,其余的默认值都是null
        //属性:变量
        String namg;
        int age;
        
        //main方法
        public static void main(String[] args){
            //局部变量:必须声明和初始化值
            int i=10;
            System.out.println(i);
            
            //变量类型  变量名=new Variable();
            Variable Variable08=new Variable();
            System.out.println(Variable08.age);//没赋值输出默认值0
            System.out.println(Variable08.name);//除了8个基础类型其余没赋值输出默认值null
            
            //类变量 static
            System.out.println(allClicks);//输出1
        }
        
        //其他方法
        public void method(){
            int i=0;//局部变量
        }
    }
    

3.常量

  1. 常量(Constant):初始化(initialize)后不能改变值!不会变动的值。

  2. 所谓常量可以理解成一种特殊的变量,他的值被设定后,在程序运行过程中不允许被改变。

    final 常量名=;
    final double PI=3.14;
    
  3. 常量名一般使用大写字符。

    public class Demo09{
        //修饰符,不存在先后顺序
        static final double PI=3.14;
        public static void main(Staing[] args){
            System.out.println(PI);
        }
    }
    

4.变量的命名规范

  1. 所有变量、方法、类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词除外,后面的单词首字母大写:lastName
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线(_):MAX_VALUE
  5. 类名:首字母大写和驼峰原则:Man,GoodMan
  6. 方法名:首字母小写和驼峰原则:run(),runRun();

运算符

1. Java 语言支持如下运算符:

  • 算术运算符:+、-、*、/、%、++、–
  • 赋值运算符:=
  • 关系运算符:>、<、>=、<=、==、!= instanceof
  • 逻辑运算符:&&、||、!
  • 位运算符:&、|、^、~、<<、>>>(了解!!!)
  • 条件运算符:? :
  • 扩展赋值运算符:+=、-=、*=、/=

2.自增自减运算符,初识Math类

//++   --  自增自减  一元运算符
int a=3;
int b=a++;//执行完这行代码后,先给b赋值,在自增do
//a++  a=a+1;
System.out.println(a);//输出4
//++a  a=a+1;
int c=++a;//执行完这行代码前,先自增,在给b赋值
System.out.println(a);//3
System.out.println(b);//3
System.out.println(c);//5

//幂运算符 2^3  2*2*2  =  8 很多运算符,我们会使用一些工具类来操作
double pow=Math.pow(3,2);//3的2次方
System.out.println(pow);//输出9

3.逻辑运算符、位运算符

//  与(and)   或(or)   非(取反)
boolean a=true;
boolean b=false;

System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为true
System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果才为true
System.out.println("!(a&&b):"+!(a&&b));//如果是真,则变为假,如果为假则变为真

//短路运算
int c=5;
boolean d=((c<4)&&(c++<4));//(c<4)为false了,则后面(c++<4)不会运行了
System.out.println(d);//输出false
System.out.println(c);//输出5

//位运算符
/*
a = 0011 1100
b = 0000 1101
-----------
a&b=0000 1100
a|b=0011 1101
a^b=0011 0001
~b =1111 0010

2*8  =16  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);//输出16

4.三元运算符及小结

int a=10;
int b=20;

a+=b;//a=a+b;
a-=b;//a=a-b;
System.out.println(a);//输出10

//字符串连接符  + ,String
System.out.println(""+a+b);//输出为1020,字符串在前面他后面会拼接起来
System.out.println(a+b+"");//输出为30字符串在后面前面的会依旧进行运算

//三元运算符
// x ? y : z
//如果x==true,则结果为y,否则结果为z
int score=50;
String type=score<60 ?"不及格":"及格";//必须掌握
System.out.println(type);//输出结果为不及格

**注:**优先级:()

包机制

  1. 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。

  2. 包语句的语法格式为:

    package pkg1[. pkg2[. pkg3]];
    
  3. 一般利用公司域名倒置作为包名:

  4. 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import" 语句即可完成此功能

    import package1[.package2...].(classname|*);
    

JavaDoc

  1. javadoc命令是用来生成自己API文档的

    cmd语法:javadoc -encoding UTF-8 -charset UTF-8 java文件

  2. 参数信息

    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @throws 异常抛出情况
/**
*@author 小唐
*@version 1.0
*@since 1.8jdk
*/
public class Doc{
    String name;
    
    /**
    *@author 小唐
    *@param name
    *@return
    *@throws Exception
    */
    public String test(String name) throws Exception{
        return name;
    }
}
已标记关键词 清除标记
相关推荐
<p> <strong> </strong> </p> <p class="MsoNormal" style="text-align:left;margin-left:21pt;text-indent:21pt;"> <br /> </p> <p class="MsoNormal"> <strong><span style="font-size:18px;"></span></strong> </p> <p class="ql-long-24357476"> <strong><span style="font-size:18px;color:#E53333;"><strong>想学好</strong></span><strong><span style="font-size:18px;color:#E53333;">JAVA必须要报两万的培训班吗?</span></strong><span style="color:#E53333;"></span><span id="__kindeditor_bookmark_start_82__"></span><br /> </strong> </p> <p class="ql-long-24357476"> <span id="__kindeditor_bookmark_end_83__"></span><strong><span style="color:#337FE5;">【课程背景】</span></strong> </p> <p class="ql-long-24357476"> <strong>JAVA是市场份额最大的编程语言,每天各大招聘网站上都会有数万个JAVA开发工程师的在招岗位,但是JAVA的技术体系庞大复杂,要想扎实掌握JAVA不是一件容易的事,线上学习相比线下两万起的高昂费用便宜了很多,而且具备学习时间灵活的优势,但是线上学习的劣势也很明显,没有线下那种学习氛围,碰到问题没法解决,在家学习很容易偷懒,极简JAVA学习营充分考虑到这些问题,通过每日实战编程练习,分队pk,助教答疑,作业点评,作业讲解,项目答辩等诸多环节充分激发你的学习热情,解决你学习中碰到的问题,让你花十分之一的钱学到JAVA的精髓,开启你的人生逆袭之路。</strong> </p> <p class="ql-long-24357476"> <strong><br /> </strong> </p> <strong><span style="color:#337FE5;">【专项的贴心服务】</span> <p class="ql-long-24357476"> 1. 学练结合:定期布置视频任务和编程实战练习:通过每天的视频任务统一大家的进度,以便同学更好的交流,针对每天的任务会有相应的编程实战练习,通过练习内化知识。<br /> 2. 分队PK:将就业营的同学分成几队,通过作业统计表统计每队提交作业情况进行PK,激发你的学习动力。<br /> 3. 助教讲师答疑:碰到任何问题,发到群里,助教和讲师十分钟内帮你解决问题,扫清学习中的障碍。<br /> 4. 助教点评讲解作业:你每天提交作业都会有助教进行点评,让你知道有什么问题怎么解决,每三天一次视频讲解作业,互动解答问题<br /> 5. 项目答辩:每个阶段学完会有项目答辩,通过做项目巩固前一阶段的知识点,锻炼编码能力。 </p> <p class="ql-long-24357476"> <img src="https://img-bss.csdnimg.cn/202007070905305336.png" alt="" /> </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">【往期训练营学习展示】</span> </p> <p class="ql-long-24357476"> <img src="https://img-bss.csdnimg.cn/202007070914574571.png" alt="" /> </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">【套餐内容简介】</span> </p> <p class="ql-long-24357476"> 本套课以市场就业和职位需求为核心,从JAVA入门到多领域实战,设计出学习路线,共分为二十大模块,分别是:JAVA面向对象、Object类与常用API、集合框架、IO流、反射注解、多线程与网络编程、Object类与常用API等等。 </p> <p> 同时采用理论讲解加实战演练的方式,既能让学员听懂听明白达到理解透彻,又能够在一个个真实实战案例中,让学员掌握真正有用的开发技能,从而进阶 JAVA 工程师! </p> <p> <br /> </p> <p class="ql-long-24357476"> 套餐中一共包含21门JAVA程,助你从零进阶JAVA工程师! </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">阶段一:</span><span style="color:#337FE5;">JAVA</span><span style="color:#337FE5;">基</span><span style="color:#337FE5;">础</span> </p> <p class="ql-long-24357476"> 课程1:《极简JAVA学习营开营篇》 </p> <p class="ql-long-24357476"> 课程2:《极简JAVAJAVA面向对象》 </p> <p class="ql-long-24357476"> 课程3:《极简JAVA:Object类与常用API》 </p> <p class="ql-long-24357476"> 课程4:《极简JAVA:集合框架》 </p> <p class="ql-long-24357476"> 课程5:《极简JAVA:IO流》 </p> <p class="ql-long-24357476"> 课程6:《极简JAVA:反射注解》 </p> <p class="ql-long-24357476"> 课程7:《极简JAVA:多线程与网络编程》 </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">阶段二:</span><span style="color:#337FE5;">数据库入门</span> </p> <p class="ql-long-24357476"> 课程8:《极简JAVA:MySql数据库》 </p> <p class="ql-long-24357476"> 课程9:《极简JAVA:JDBC与连接池》 </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">阶段三:</span><span style="color:#337FE5;">JAVA WEB</span> </p> <p class="ql-long-24357476"> 课程10:《极简JAVA:HTML5与CSS3》 </p> <p class="ql-long-24357476"> 课程11:《极简JAVA:极简JAVA十一:Javascript与Jquery》 </p> <p> 课程12:《极简JAVA:BootStrap》 </p> <p class="ql-long-24357476"> 课程13:《极简JAVAJAVA Web》 </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">阶段四:框架实战</span> </p> <p class="ql-long-24357476"> 课程14:《极简JAVA:Mavean入门》 </p> <p class="ql-long-24357476"> 课程15:《极简JAVA:MyBatis框架》 </p> <p class="ql-long-24357476"> 课程16:《极简JAVA:Spring框架》 </p> <p class="ql-long-24357476"> 课程17:《极简JAVA:Spring Mvc》 </p> <p class="ql-long-24357476"> <span id="__kindeditor_bookmark_end_251__"></span><span id="__kindeditor_bookmark_end_247__"></span>课程18:《极简JAVA:Oracle数据库》 </p> <p class="ql-long-24357476"> 课程19:《极简JAVA:Git入门》 </p> <p class="ql-long-24357476"> 课程20:《极简JAVA:Linux入门》 </p> <p class="ql-long-24357476"> 课程21:《极简JAVA:SpringBoot》 </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">【课程特色】</span> </p> <p class="ql-long-24357476"> 1、易理解:讲师思路清晰、节奏明确、从易到难讲解透彻明白; </p> <p class="ql-long-24357476"> 2、知识全:知识全面系统,从JAVA入门到实战,由易到难,让你彻底掌握JAVA开发; </p> <p class="ql-long-24357476"> 3、重实战:涵盖大量实战项目,锻炼你的动手实操能力,面向工作编程; </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="color:#337FE5;">【面向人群】</span> </p> <p class="ql-long-24357476"> 1、在校计算机专业或者对软件编程感兴趣的学生; </p> <p class="ql-long-24357476"> 2、零基础想学JAVA却不知道从何入手 </p> <p class="ql-long-24357476"> 3、囊中羞涩,面对两万起的JAVA培训班不忍直视 </p> <p class="MsoNormal"> 4、在职没有每天大块的时间专门学习JAVA </p> </strong>
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页