MD 笔记使用2020-12-22

java入门基础

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

    • java中的三种注释
      • //单行注释
      • /* 多行注释 */
      • /**文档注释 */
    • 标识符命名规则
      1. 标识符用作给变量、类和方法命名
      2. 标识符以由大小写字母、数字、下划线(_)和美元符号($)组成,但是不能以数字开头。
      3. 大小写敏感
      4. 不能与Java语言的关键字重名
      5. 不能和Java类库的类名重名
      6. 不能有空格、@、#、+、-、/ 等符号
      7. 长度无限制
      8. 应该使用有意义的名称,达到见名知意的目的
      9. 不可以是 true 和 false
    • 关键字

      Java关键字是对Java编译器有特殊含义的字符串,是编译器和程序员的一个约定,程序员利用关键字来告诉编译器其声明的变量类型、类、方法特性等信息。Java语言共定义了如下所示的关键字。

      java关键字

  2. 数据类型

    • 基本数据类型

      **Java数据类型**

      注意点
      • 小容量转换成大容量叫自动类型转换,大容量转换为小容量需要强制类型转换,必须添加强制类型转换符,虽然编译通过了,但运行阶段可能精度会损失,谨慎使用。
      • 容量由小到大为:byte,short(char),int,long,float,double
      • float 有限 离散 舍入误差 大约 接近但不等于
      • double
      • 最好的完全使用浮点数进行比较
      • 最好的完全使用浮点数进行比较
      • 最好的完全使用浮点数进行比较
  3. 类型转换

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

      低	----------------------------->	高
      
      byte,short,char-> int -> float -> double
      
    • 运算中,不同类型的数据先转换为同于类型,然后进行运算

    • 强制转换、自动类型转换

      • 1、转换

      *自动类型转换(也叫隐式类型转换) ,其实就是小范围的数据类型向大范围的数据类型转换,例如int类型转long

      *强制类型转换(也叫显式类型转换) int b = (int)(i + j);

      *强制类型转换在某种情况下会丢失精度

      *表达式的数据类型自动提升

      2、进行四则运算时

      a、所有的byte型、short型和char的值将被提升到int型

      b、如果一个操作数是long型,计算结果就是long型

      c、如果一个操作数是float型,计算结果就是float型

      d、如果一个操作数是double型,计算结果就是double型

      e、如果一个操作数是String型,计算结果就是String型

    • 面试陷阱1

    byte b1 = 10;
    byte b2 = 20;
    //错误: 不兼容的类型: 从int转换到byte可能会有损失
    //否则,两个操作数都将转换为int类型。
    byte b3 = b1 + b2 //错误,b1+b2是int类型,java的整数默认类型为int,b3是byte类型,二者类型不同,所以出错
    byte b3 = (byte)(b1 + b2); //正确
    
    • 面试陷阱2
    short s1 = 10; 
    s1 = s1 + 12; //错误: 不兼容的类型: 从int转换到short可能会有损失
     
    short s2 = 10; 
    s2 += 12; // 等同于short s2 = (short)(s2 + (short)1); //正确
    
  4. 变量、常量

    • 变量

      • 什么是变量:变量就是可以变化的量

      • Java是一种强类型语言,每个变量都必须声明其类型

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

      • 注意事项

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

        • 类变量

        • 实例变量

        • 局部变量

          public class a{
              static int allClicks = 0;	//类变量
              String str = "hello world";	//实例变量
              public void method(){
                  int i = 0;				//局部变量
              }
          }
          
          //实例变量:从属于对象;如果不自行初始化,这个类型的默认值0 0.0
          //布尔值:默认值是false
          //除了基本类型,其他的默认值都是null
          
          
    • 常量

      • 关键字final表示这个变量只能被赋值一次。一旦被赋值以后,就不能够在更改了。习惯上,常量名使用全大写。

        在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称之为类常量,例如:

        public static final BLANK = "black";
        
        
  5. 运算符

操作符描述例子
+加法 - 相加运算符两侧的值A + B 等于 30
-减法 - 左操作数减去右操作数A – B 等于 -10
*乘法 - 相乘操作符两侧的值A * B等于200
/除法 - 左操作数除以右操作数B / A等于2
取余 - 左操作数除以右操作数的余数B%A等于0
++自增: 操作数的值增加1B++ 或 ++B 等于 21
自减: 操作数的值减少1B-- 或 --B 等于 19
操作符描述例子
如果相对应位都是1,则结果为1,否则为0(A&B),得到12,即0000 1100
|如果相对应位都是0,则结果为0,否则为1(A | B)得到61,即 0011 1101
^如果相对应位值相同,则结果为0,否则为1(A ^ B)得到49,即 0011 0001
按位取反运算符翻转操作数的每一位,即0变成1,1变成0。(〜A)得到-61,即1100 0011
<<按位左移运算符。左操作数按位左移右操作数指定的位数。A << 2得到240,即 1111 0000
>>按位右移运算符。左操作数按位右移右操作数指定的位数。A >> 2得到15即 1111
>>>按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。A>>>2得到15即0000 1111
操作符描述例子
+ =加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数C + = A等价于C = C + A
- =减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数C - = A等价于C = C - A
* =乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数C * = A等价于C = C * A
/ =除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数C / = A等价于C = C / A
(%)=取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数C%= A等价于C = C%A
<< =左移位赋值运算符C << = 2等价于C = C << 2
>> =右移位赋值运算符C >> = 2等价于C = C >> 2
&=按位与赋值运算符C&= 2等价于C = C&2
^ =按位异或赋值操作符C ^ = 2等价于C = C ^ 2
| =按位或赋值操作符C | = 2等价于C = C | 2
操作符描述例子
&&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。(A && B)为假。
| |称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。(A | | B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。!(A && B)为真。

  1. 包机制、JavaDOC

    包机制

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

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

      package pkg1[. pkg2[. pk3.]];
      1
      
    3. 一般利用公司域名倒置作为包名:例如: www.baidu.com com.baidu.www
      在这里插入图片描述

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

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

    javaDoc

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

    参数信息:

    @author 作者名

    @version版本号

    @since指明需要最早使用的jdk版本

    @param参数名

    @return 返回值情况

    @throws异常抛出情况

包名:使用小写字母。

类名和接口名:通常定义为由具有含义的单词组成,所有单词的首字母大写。

  • 所有变量、方法、类名:见名知意

  • 变量名(类成员变量、局部变量):lastname lastName成员变量和方法相同,局部变量全部使用小写。

  • 常量名:MAX_VALUE全部使用大写,最好使用下划线分割单词

  • 方法名:run(),runRun() 通常也是由具有含义的单词组成,第一个单词首字母小写,其他单词的首字母都大写。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值