小熊学Java第三天

基础语法

注释

平时我们编写代码,在代码量比较多的时候,我们把复杂的代码注释下。比较容易明白代码功能。注释并不会执行只是写给我们看的。

Java注释有三种

  1. 单行注释 //输出内容
  2. 多行注释 /* 输出的内容 */
  3. 文档注释 /** 输出内容 */

关键字

java关键字

标识符注意点

  • 所有的标识符都应该以字母开头,美元符,或者下划线开始
  • 首字母之后可以是字母和任意字符组合
  • 不能使用关键字为变量名和方法名
  • 标识符是大小写敏感的
  • 可以中文命名但不建议用。

数据类型

Java是一种强类型语言,变量的是使用要严格符合规定,要先定义在使用。

  • 基本类型(primitive type)
    • 整数类型 byte(1) short(2) int(3) long(4)
    • 浮点类型 float(4) double(8)
    • 字符类型 char(2)
    • boolean 类型 true 和 false
  • 引用类型(reference type)
    • 接口
    • 数组

数据类型扩展

整数扩展

进制

  • 二进制
  • 十进制 int i = 10
  • 八进制 int i2 = 010
  • 十六进制 int i3 = 0x10

浮点数扩展

float 和double 只能表现有限的数,这个数是离散的,有舍入误差,大约等于,接近但不等于,最好完全使用浮点数进行比较。
银行业对于金钱浮点数计数用BigDecimal类表示,这个不会有误差。

字符串扩展

  • 字符串可以强制转换成数字,因为字符是用Unicode编码的。字符本质就是数字。
char c3 = '\u0063';
System.out.println(c3); 
  • 编码表里面数字对应相应的字符。
  • 转义字符 \t 制表符 \n 换行
  • String 通过对象赋值和直接赋值的问题,代码如下:
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa == sb);

String sc = "hello world";
String sd = "hello world";
System.out.println(sc == sd);

结果是第一个为false,第二个为ture

布尔值扩展

boolean flag = true;
if (flag==true){int a =1;}
if (flag){int b = 1;}
// less is more

第二个语句优于第一个语句。

类型转换

Java是强类型语言,所以要进行有些运算的时候,需要类型转换
运算中,不同类型的数据先转化同一类型,然后再进行运算。
强制转换 (类型)变量名
自动转换 由低到高不要加任何符号
注意点

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为步相干的类型
  3. 再把高容量转换到低容量的时候,强制转换
  4. 转换的时候可能存在内存溢出,或者精度问题
public class Demo06 {
    public static void main(String[] args) {
        int money = 1_000_000_000;
        int years = 20;
        int total = money * years;
        System.out.println(total); // 输出错误,溢出
        long total2 = money * years;  // money 还是int类型,数据已经溢出
        System.out.println(total2); // 输出错误,溢出

        long total3 = money * ((long)years);
        System.out.println(total3); // 的到正确结果,20亿
        

    }
}

变量

变量是什么:就是可以变化的量
java 变量是程序中最基本的存储单元。
变量定义
type var Name[=value][{,varName[=vaule]}];

变量作用域

  • 类变量:从属于类,要用static关键字就好。static修饰符,不存在先后顺序
  • 实例变量:从属于对象;
  • 局部变量:必须声明和初始化。只能再局部使用。
  • 所有数据默认初始化是0或者0.0布尔值默认是false。除了基本类型,其余都是null。

变量的命名规范

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

常量

常量:初始化后不能再改变值
所谓常量可以理解成一种特殊的变量,他的值被设定后,再程序运行过程中就不允许改变常量定义的关键字 final。
final 常量名 = 值;
final double PI = 3.14;
常量名一般大写。

运算符

Java 语言支持的如下运算符

  • 算术运算符:+, -, *, /, %, ++, –
  • 赋值运算符 =
  • 关系运算符 >, <, >=, <=, ==, !=, instanceof
  • 逻辑运算符:&&, ||, !
  • 位运算符:&,|, ^, ~,>>, <<, >>>
  • 条件运算符 ? :(三目运算符)
  • 扩展赋值运算符: +=, -=, *=, /=
    *快捷键 ctrl+d,复制当前行到下一行。
public class Demo05 {
    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;

        System.out.println("a && b:" + (a && b));
        System.out.println("a || b:" +(a || b) );
        System.out.println("! (a && b):" + !(a && b));

        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);
    }
}

位运算分析

public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        b = 0000 1101
        --------------------------
        A&B = 0000 1100
        A|B = 0011 1101
        A^B = 0011 0001
        ~B = 1111 0010
         */
    }
}

三元运算符

public class Demo08 {
    public static void main(String[] args) {
        //x? y: z

        int score = 80;
        String type = score < 60 ? "yes":"no";
        System.out.println(type);
    }
}

包机制

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

package pkg1[. pkg2[. pkg3 …]];

  • 包的本质就是文件夹
  • 一般利用公司域名倒置作为包名;com.baidu.www
  • 有的时候我们需要导入包才可以使用 import java.util.Date 导入日期包

import package1[. package2…]].(classname…)

阿里巴巴开发手册

javadoc

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

参数信息

  • @author 作者名
  • @version 版本
  • @since 指明需要最早使用的jdk版本
  • @param 参数
  • @ return 返回值情况
  • @ thorws 异常抛出情况
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值