您当前所在位置:首页安装教程你真的懂吗?Java基础语法(语法、位运算、JavaDoc等)

你真的懂吗?Java基础语法(语法、位运算、JavaDoc等)

更新:2023-11-20 13:07:17编辑:tooool归类:安装教程人气:135

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

1.注释(comments)

  • 平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己编写的代码,但是当项目结构一旦复杂起来,我们就需要用到注释了!
  • 注释并不会被程序执行,是给我们自己写代码的人看的,方便理解
  • 书写注释是一个非常好的习惯
  • Java中注释有三种:单行注释(Line comment)多行注释(block comment)文档注释(JavaDoc)
  • 找好看的注释:搜索有趣的代码注释
  • 三种注释的代码单行注释:只能注释一行,//javapublicclassHello{publicstaticvoidmain(String[] args){//单行注释//输出hello一句话!System.out.println("hello"); } }多行注释:可以注释一段文字,/* */javapublicclassHello{publicstaticvoidmain(String[] args){//单行注释//输出hello一句话!//多行注释/* 这是多行注释 这是多行注释 这是多行注释 */System.out.println("hello"); JavaDoc:文档注释,/** */javapublicclassHello{publicstaticvoidmain(String[] args){//文档注释/** *@descroptionhello *@Authorzhang */ System.out.println("hello"); } }

comments:注释

你真的懂吗?Java基础语法(语法、位运算、JavaDoc等)

Annotations:注解

Bold:粗体

italic:斜体

description:描述

Author:作者

2.标识符

  • Java里面的关键字
  • Java所有的组成成分都需要名字,类名、变量名以及方法名都被称作标识符。(每个人都有自己的名字,程序也是如此,作为程序员,我们就是上帝造物主,我们要给自己创造的程序命名,这也体现了程序来源于生活!)
  • 标识符注意事项
    • 所有的标识符首字符都应该以字母(A-Z或者a-z)、美元符($)、或者下划线(_)开始
    • 首字符之后可以是字母(A-Z或者a-z)、美元符($)、下划线(_)或者数字的任意字符组合
    • 不能使用关键字作为变量名或者方法名
    • 标识符是大小写敏感的
    • 合法标识符例子:age、$salary、_value、__1_value
    • 不合法标识符例子:123abc,-salary、abc
    • 可以使用中文命名,但是一般不推荐怎样去使用,也不建议使用拼音,原则上命名要见名知意
    • 文件名与类名保持一致,并且类名首字母大写(默认规范)

二.数据类型

1.语言类型(安全性与性能)

  • 强类型语言:要求变量的使用要严格符合规定,所有的变量都必须先定义后才能使用(安全性高,性能低)
  • 弱类型语言:要求变量的使用不需要严格符合规定,所有的变量不需要先定义后才能使用(安全性低,性能高)

2.Java的数据类型分为两大类

  • 基本类型(Primitive type)单引号与双引号:‘ 中 ’(只能为一个字符或一个字,‘中’或者‘A’等); zahng (可以有多个字符)判断数值类型大小八大基本类型代码:javapublicclassDemo2{//八大基本类型//整数byteb1 =10;shortb2 =100;intb3 =1000;longb4 =1000000L;//Long 类型要在后面加一个L,以示区分与上面不同。//浮点数floatc1 =1.1665F;//float 类型要在后面加一个F,以示区分与double不同。doublec2 =1.45466456;//字符类型chard1 =A;//只能写一个字或一个字符//String不是基本类型,属于引用类型String e1 ="zhang";//可以写多个字符//boolean:布尔值,其值只有true与falsebooleanf1 =true; }
  • 引用类型(reference type):除了基本数据类型,都是引用类型!

3.变量

  • 变量是什么:就是可以变化的量
  • java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其3要素包括:变量名、类型变量和、作用域javatype varName = value//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型的变量!
  • 注意事项:每个变量都有类型,类型可以是基本数据类型,也可以是引用类型(String 是引用类型)变量名必须是合法的标识符变量声明是一条完整的语句,因此每一个声明都必须以分号(;)结束

4.什么是字节

  • 位(bit):是计算机内部数据存储的最小单位,11101110就是一个八位二进制数,习惯上用小写的b表示。
  • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
  • 1B(byte,字节)= 8 bit(位),也就是说,如果用二进制表示的话,1字节=2的(8-1)次方 bit(位)
  • 字符:是指计算机中使用的字母、数字、字、和字符
  • 单位换算
    • 1bit表示1位
    • 1byte 表示1个字节 1B = 8b(二进制的8次方)【8-1的次方】
    • 1024B = 1KB
    • 1024KB = 1M
    • 1024 M = 1G
  • 电脑32位于64位的区别向下兼容,64位的电脑既可以装64位操作系统也可以装32位操作系统,反之不行!位数越高,电脑内存寻址越强,电脑运行速度越快同时,64位电脑,最多可以支持128G内存,32位电脑,最多支持4G内存,所以如果你想加内存条,64位的理论上最多可以加到128G

三.类型转换

  • 由于Java是强类型语言,所以要进行某些运算时,需要用到类型转换。

java

低---------------------------------->高byteshortchar->int-->long-->float-->double
  • 小数优先级大于整数
  • 运算中,不同类型的数据先转换为同一类型,然后在进行运算
  • 高转低需要强制转换,低转高不需要

java

强制类型转换:
  高-----低int-----byte自动转换:
  低------高int-------double
  • 强制类型转换(括号里面加上转换类型)【格式:(类型)变量名】

java

publicclassDemo9{publicstaticvoidmain(String[] args){ints1 =128;bytes2 = (byte)s1;//内存溢出System.out.println(s2);
    }
}
结果为:-128
  • 自动类型转换(隐式类型转换)

java

publicclassDemo10{publicstaticvoidmain(String[] args){ints1 =128;doubles2 = s1;
        System.out.println(s2);
    }
}

结果为:128.0
  • 常见错误
    • 1.转换的结果为负数,原因为超出byte的最大正范围,避免内存溢出

java

publicclassDemo9{publicstaticvoidmain(String[] args){ints1 =128;bytes2 = (byte)s1;//内存溢出System.out.println(s2);
    }
}
结果为:-128
    • 2.不能对boolean值进行转换,boolean是按位来计算大写的,而其他的数据类型单位为字节!!!
    • 3.不能把对象类型转换为不相干的类型(人不能转换为一本书)
    • 4.在把高容量转换为低容量的时候,强制转换
    • 转换的时候可能存在内存溢出,或者精度问题!(浮点数转int时,例如23.7变为23、-4.6变为-4,丢失精度)
    • char类型javapublicclassDemo11{publicstaticvoidmain(String[] args){//字符转换chars1 =a;ints2 = s1 +1; System.out.println(s2);//自动转换System.out.println((char) s2);//强制转换} } 结果为98b
    • 操作比较大的数的时候,注意溢出问题,JDK7新特性,数字之间可以用下划线分割javapublicclassDemo12{publicstaticvoidmain(String[] args){//数字比较大的时候,注意溢出问题//JDK7新特性,数字可以用下划线分割表示ints1 =1_0000_0000;ints2 =100;ints3 = s1 * s2;//计算时溢出了longs4 = s1 * s2;//计算时按默认的int计算,转换为long类型之前就已经错误了System.out.println(s3); System.out.println(s4); } } 结果为:451611456564151451611456564151
    • 解决上面问题javapublicclassDemo12{publicstaticvoidmain(String[] args){//数字比较大的时候,注意溢出问题//JDK7新特性,数字可以用下划线分割表示ints1 =1_0000_0000;ints2 =100;ints3 = s1 * s2;//计算时溢出了longs4 = s1 * s2;//计算时按默认的int计算,转换为long类型之前就已经错误了longs5 = s1 * (long)s2;//计算时,先将s2从int转换为long在进行计算,结果就不会出现问题System.out.println(s3); System.out.println(s4); System.out.println(s5); } }

四.变量、常量

1.变量

  • 变量是什么:就是可以变化的量
  • java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其3要素包括:变量名、类型变量和、作用域javatype varName = value//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型的变量!
  • 注意事项:每个变量都有类型,类型可以是基本数据类型,也可以是引用类型(String 是引用类型)变量名必须是合法的标识符变量声明是一条完整的语句,因此每一个声明都必须以分号(;)结束

2.变量作用域

  • 类变量
  • 实例变量
  • 局部变量javapublicclassDemo13{//类变量staticints1 =10;//类变量必须要以static修饰//实例变量ints2 =123;//没有static修饰为实例变量//main方法publicstaticvoidmain(String[] args){//局部变量ints3 =4546;//定义在方法里的变量,局部变量} }
  • 详解变量

java

publicclassDemo14{//类变量staticints3 =464;static{//代码块,定义属性,在类加载的时候就加载了}//实例变量:从属于对象(当前这个类)//如果不自行初始化,有默认值//基本数据类型:整数默认值为:0,浮点数为:0.0,字符为:U0000(不显示),boolean为:false//除了基本数据类型,其余的默认值为nullintage;
    String name;charaddress;doublecat;
    boolean pet;//main方法publicstaticvoidmain(String[] args){//局部变量:在当前方法有效,作用域为当前main方法//必须声明和初始值ints1 =11;
        System.out.println(s1);//实例变量的调用Demo14 s2 =newDemo14();
        System.out.println(s2.age);
        System.out.println(s2.name);
        System.out.println(s2.cat);
        System.out.println(s2.address);
        System.out.println(s2.pet);//类变量System.out.println(s3);//可以直接调用}//add方法publicvoidadd(){
    }
}
结果为:110null0.0//char的默认值false

3.常量

  • 常量(constant):初始化(initialize)后不能在改变值!!不会改动的值。
  • 所谓的常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被修改
  • 格式:final 常量名 = 值;final double PI = 3.1415926,变量名默认大写
  • 常量名一般使用1大写字符!!
  • 修饰符,不存在先后顺序

java

publicclassDemo15{staticpublicintS =14;publicstaticvoidmain(String[] args){
        System.out.println(S);
    }
}
输出结果为:14

4.变量的命名规范

  • 所有的变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:timeLate
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Demo,Hello
  • 方法名:首字母小写和驼峰原则:add()、run()

五.运算符

  • 运算符
  • cast:转换
  • 自增、自减,一元运算符++,--

java

publicclassDemo1{publicstaticvoidmain(String[] args){//自增自减,++    --ints1 =2;ints2 = s1++;//先赋值再加ints3 = ++s1;//先加后赋值System.out.println(s1);
        System.out.println(s2);
        System.out.println(s3);
    }
}
结果为:424
  • 逻辑运算

java

publicclassDemo2{publicstaticvoidmain(String[] args){//逻辑运算//短路运算ints1 =6;
        boolean s2 = (s1<5)&&(s1++<5);//前面为false,后面的s1++就不会执行!!System.out.println(s2);
        System.out.println(s1);
    }
}
结果为:false6
  • 位运算

java

publicclassDemo3{publicstaticvoidmain(String[]args){//位运算01/*A=00111100B=00001101A&B:00001100两者都为1,才为1A|B:00111101两者只要有一个为1,就为1A^B(异或);00110001两个数字一样为0,不同为1~B:11110010取反2*8=162*2*2*2<<左移>>右移0000000110001000016*/System.out.println(2<<3);//上面的例子System.out.println(256>>2);System.out.println(256>>>2);//与>>结果一样}}结果为:166464
  • 三元运算符

java

publicclassDemo4{publicstaticvoidmain(String[] args){//三元运算符//x(语句) ? y : s//如果x==true,则返回y,否则结果为sints1 =1;ints2 =1<2?10:5;
        System.out.println(s2);
    }
}
结果为:10
  • 优先级:()优先级高,建议多使用!!!

六.包机制、javaDoc

1.包

  • 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
  • 包语句的格式为:package pkg1;

java

packagejava.lang
  • 一般利用公司域名倒置作为包名;www.baidu.com com.baidu.www
  • 为了能够使用某一个包的成员,我们需要在Java程序里面导入该包,使用import语句即可完成此功能!
  • import package

java

importbase.Demo14;importbase.*//导入全部 *表示通配符
  • 单词:refactor 重构

2.JavaDoc

  • JavaDoc命令是用来声称自己的API文档的
  • 可以加在类上,也可以加在方法上(自动生成一些东西)

java

packageoperator;/**
 *@authorzhang
 *@version1.0
 */publicclassDemo4{
    String name;/**
     * 
     *@paramargs
     *@throwsException
     */publicstaticvoidmain(String[] args)throwsException{//三元运算符//x(语句) ? y : s//如果x==true,则返回y,否则结果为sints1 =1;ints2 =1<2?10:5;
        System.out.println(s2);
    }
}
  • 参数信息@author 作者名@version 版本号@since 指明最早使用的JDK版本@param 参数名@return 返回值情况@throws 异常抛出情况
  • 生成JavaDoc文档javajavadoc -encoding UTF-8-charset UTF-8Demo4.java生成文档
  • IDEA生成帮助文档
  • javazh_CN//生成中文文档-encoding UTF-8-charset UTF-8//设置编码集

生成JavaDoc帮助文档!

我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

windows xp系统用户必备的安全防护和使用技巧大全(二) macos10.11还能干嘛?