Java基础语法2

Java基本语法2

类型转换

  • 运算时,若数据类型不同则需转换为同类型再进行运算
    • 强制转换
      • 格式;(类型)变量名
      • 用于高容量转到低容量
    • 自动转换
      • 低范围转为高容量,自己转换就行
      package basics;
      
      public class Grammar {
      	public static void main(String[] args) {	
      		//类型转换
      			int i = 2;
      			byte b = (byte)i;
      			double d1 = i;
      	}
      }
      
  • 转换规则与注意项
    • 由低到高容量排列为:byte,short,char->int->long->float->double

    • byte、short和char类型数据参与运算均会自动转换为int类型

      byte b1 = 10;
      byte b2 = 20;
      byte b3 = b1 + b2;
      // 第三行代码会报错,b1和b2会自动转换为int类型,计算结果为int,int赋值给byte需要强制类型转换。
      // 修改为:
      int num = b1 + b2;
      // 或者:
      byte b3 = (byte) (b1 + b2);
      //另外,常量优化机制:常量则不会转换。如:
      byte d = 3 + 4; //正确。常量优化机制
      
    • 不能对布尔值转换

    • 不能把对象类型转为不相干类型

    • 转换过程可能存在内存溢出或精度问题

      • 操作大数时注意溢出
      • 浮点数转整数会丢失小数点后的数字

变量

  • 变量即可以变化的量
  • Java是强类型语言,每个变量都必须声明其类型
    • 变量是程序中最基本的存储单位

    • 变量要素包括:

      • 变量名
      • 变量类型
      • 作用域
    • 声明格式:

      type varName [=value][{,varName[=value]}];
      //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量
      
  • 作用域:
    • 分3种:类变量、实例变量、局部变量
      //变量作用域
      	public class Varible{
      		static int allClicks = 0;	//类变量
      		String str = "hellow world";	//实例变量
      		public void method() {
      			int i = 0;	//局部变量
      		}
      	}
      
      • 局部变量必须声明和初始化值
      • 实例变量从属于对象
        • 若不进行初始化,默认值为0或0.0
          • 布尔值默认值则为false
          • 基本类型外的默认值都为null
      • 类变量 static
  • 变量相关命名规范
    • 所有变量、方法、类名尽可能见名知意
    • 类成员变量、局部变量和方法名:首字母小写,使用驼峰原则
      • 即除了第一个单词外,后面的单词首字母大写
      • 例:monthSalary、lastName
    • 常量:仅使用大写字母和下划线
      • 下划线用于区分单词
    • 类名:首字母大写且遵循驼峰原则
  • 注意事项
    • 每个变量都有类型,可以是基本类型也可以是引用类型
    • 变量名必须是合法标识符
    • 变量声明是一条完整语句,因此每个声明必以分号结束

常量

  • 常量是初始化后不能再修改的值,不会再变动
    • 可理解为一种特殊的变量
  • 格式:
    //常量
    			//final 常量名 = 值;
    			final int I = 1;
    
    • 常量名一般用大写字符

运算符

  • 算术运算符:+,-,*,/,%,++,–

  • 赋值运算符:=

  • 关系运算符:>,<,>=,<=,==,!=instanceof

  • 逻辑运算符:&&,||,!

  • 位运算符:&,|,^,~,>>,<<,>>>

  • 条件运算符:?:

  • 扩展赋值运算符:+=,-=,*=,/=

  • 字符串连接符:+

  • 【拓展】

    1. ++/- -

      • 即自增自减
        // 运算符拓展
        		// ++、--
        		int x = 1;
        		// x++与++x都是x+1
        		int y = ++x; // x先加1再赋值给y,即y为2
        		// 此时x由原先的1自增为2
        		int z = x++; // 再将为2的x值赋值给z,即z为,然后x再进行自增
        		// 即,为z赋值后x已由2自增为3
        		System.out.println(y);
        		System.out.println(z);
        		System.out.println(x);
        
    2. +/-

      • a = a + b等价于a += b
        • 理解就好,不建议
      • 幂运算
      • 无幂运算,需使用工具类
      // 幂运算
      		double pow = Math.pow(2, 10); // 计算2的10次方
      		System.out.println(pow);
      
      • 位运算:>>,<<(右移与左移)
      • 与计算机底层相关,效率极高
      • 条件运算符:
        • 是三元运算符
        • x?y:z
          • 若x == true,则结果为y
          • 否则结果为z
        • 重要!
      • char类型参与算术运算,使用的是计算机底层对应的十进制数值。
        • 需要我们记住三个字符对应的数值:
          • ‘a’ – 97 a-z是连续的,所以’b’对应的数值是98,'c’是99,依次递加
          • ‘A’ – 65 A-Z是连续的,所以’B’对应的数值是66,'C’是67,依次递加
          • ‘0’ – 48 0-9是连续的,所以’1’对应的数值是49,'2’是50,依次递加
      • 当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算
        System.out.println("深圳"+ 666); // 输出:深圳666
        
    3. 逻辑运算符:短路原则

      • 对于A&&B,若A为false,则整个式子值确定为false,且不管B是否成立都不执行
      • 对于A||B,若A为true,则整个式子值确定为true,且不管B是否成立都不执行
    1. 优先级

包机制

  1. 包,即文件夹,是区别类名的命名空间
    • 是指向类或接口的一条路径,可利用其访问任意包中的类
  2. 作用
    • 划分类名空间:确保不同包类名和接口名不冲突
      • 同个包的类与接口不能重名
    • 对类分类管理:将功能相似的类、接口或某模块的类组织在同一个包中
    • 控制类和接口间的访问关系
      • 拥有包访问权的类才能被其他包中都类访问
  3. packag关键字:package [包名]
    • 是源程序文件的第一条有效语句
    • 一个源程序文件只能有一条packag语句
    package basc;
    
    • 若文件无包,则是存于默认包,无需使用package关键字
  4. 命名规则:一般l利用公司域名倒置做包名
    • 个人项目命名
      • 单人项目onem:个人发起,但非自己独立完成的项目
        • 格式:onem.发起者名.项目名.模块名…
      • 个人项目pers:个人发起,且独立完成
        • 格式:pers.个人名.项目名.模块名
      • 私有项目priv:个人发起,独立完成,非公开使用的项目,copyright属于个人
        • 格式:priv.个人名.项目名.模块名
    • 团队项目命名
      • 团队项目:团队发起,该团队开发,copyright属于该团队
        • 格式:team.团队名.项目名.模块名…
      • 公司项目:由公司发起,并由公司开发,copyright属于公司
        • 格式:公司域名反写.项目名.模块名
        • 互联网域名不重复,故常用此方式命名
  5. 注意规范:
    • 包名要求字符均小写,不能含有特殊字符
    • 包可有多层,用符号.分隔
    • 对包编译后,包中类和接口产生字节码文件,目录为:项目空间名\项目名\bin\包名
  6. 程序中导入包需使用import
    • 格式:
      • import 包名.类名;
      • import 包名.*; //导入该包中所有类,但不包括其子包中都类
    import java.util.*;
    

Java Doc

  1. javadoc命令是用于生成API文档
  2. 参数信息:
  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回情况
  • @throws 异常抛出情况
  1. 生成javadoc文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值