java基础知识

测试一下自己 ~

    System.out.println(10%-3); 
    System.out.println(-10%-3);
    System.out.println(-10%3);

1.每条语句用英文符号(;)结束,注意,用中文字符时编译出错。这是个易错又不容易发现的地方!

2.一个连续的字符串不分拆分成两行,如果不得不拆的情况下要写成两个字符串,并用加号(+)连接起来

3.注释: // 这是单行注释

                /* 这是多行注释*/          !多行注释可以嵌套单行注释

                /**

                *Title: Tset类

                *这是文档注释

                */ 

4.关键字50个 ,一般都是小写。

        abstrac        assert        boolean        break        byte        case        catch        char        class

        const           continue        default        do        double        else        enum        extends                final        float                for                goto        if                implement                import                instanceof     int         interface        long        native        new    package                privare                protected        public        return        strictfp        short        static        super        switch                synchronized        this        throw        whrows        transient        try        void        volatile                while   

 5.标识符:由美元、下划线、数字、字母组成。

命名建议:包名一律用小写如,com.itheima.example

                  类名和接口名首字母大写如ArrayList 、Iterator

                  常量都大写:DATE_OF_TODAY

                   变量名和方法名第一个单词字母小写,第二个单词开始大写

                   尽量用有意义的单词来表示命名,尽量避免拼音

错误命名:数字开头

                 变量名中带有空格

                 变量命名用小驼峰,类名用大驼峰   

6.boolean变量的值只有两个,true 和 false ,和c不同,在Java中不能 用0表示false,用正整数表示true,boolean的变量大小不确定,在有的JVM中是一个字节,而有的JVM中是1bit

7.  拼接

System.out.println("hello"+10+20);    //hello1020
System.out.println(10+20+"hello");    //30hello

System.out.println("hello"+            //拼接
                    "world!");

        

 需要注意的是,图中的默认值是针对成员变量的,局部变量还是要初始化滴 否则,报错~~

8.变量分为成员变量和局部变量

  1. 局部变量:方法体{}中、形参、代码块{}中
  2. 成员变量:类中方法外
    • 类变量:有static修饰
    • 实例变量:没有static修饰 

9.常量

        1.字面常量

        2.final修饰的变量,此处跟C语言中const修饰的常变量不同,c中const修饰的变量理论上还是变量,还能通过指针改变变量的值,而在Java中,final修饰的就是常量,常量在编译的时候就确定其值了,变量的值要在运行的阶段才能确定,这也是为什么会出现强制类型转换的原因之一。

final变量在编译的时候就确定其值,在运行时就不可修改了,且只能赋值一次。

10;
'a';
final int a = 10;

System.out.println(10);

10.自动类型转换、强制类型转换

 


public class Tset {
    public static void main(String[] args) {
        byte a = 10; 
        byte b = 20; 
        //byte c = a + b; 
        System.out.println(c);     // 编译报错
                                   // Test.java:5: 错误: 不兼容的类型: 从int转换到byte可能会
                                   //有损失,byte c = a + b; 
//正确写法
byte d = (byte)a+b;

        int a = 20;
        long b = 1000L;
        //b = a; //将小类型变量赋给大类型变量可以编译通过
        //a = b; //将大类型变量赋给小类型变量可以编译不通过
        System.out.println(b);

        
        boolean d = false;
        int c = 34;
        c = (int)d;         //boolean不能和其他类型转换
        d = boolean(c);

    }

为什么会出错呢?

        在上述代码中,a和b都是相同类型,但在计算a+b时会将a和b提升为int类型,再进行计算,得到的结果也是int类型,将这个int类型的值赋给c,程序报错。

        在java中,如果其类型小于4个字节,那么会将其转换成int类型再进行计算,如果不同类型的数据混合运算, 范围小的会提升成范围大的,再进行计算。

//int转String
int num = 10; 
// 方法1 
String str1 = num + ""; 
// 方法2 
String str2 = String.valueOf(num);


//String转int -> 用函数‘

String str = "100"; 
int num = Integer.parseInt(str); 


在整形提升时有个体例,如下代码,在编译s+=9时程序并不会报错,这是因为在计算+=时,java自动实现类型提升了~~,在使用+=、-=、*=、/=、%=运算符进行赋值时,强制类型转换会自动完成,程序无需做任何显示的声明。

short s = 10;

//s = (short) (s+9);
s += 9;

System.out.println(s);

11.包装类

        8基本数据类型的plus版本,是将8中数据类型封装成类,在类中有许多写好的函数,方便程序员直接引用。int的包装类为Integer,char的包装类为Character,其他都是首字母大写.. 

12.运算符

这里有两个要注意的:

        1.除法的除数不能为0,否则抛出异常,程序报错

        2.取模是可以对浮点数进行操作的如 1.5% 1  = 1.5 这点和C语言存在明显区别!

13.关系运算符

        关系运算的返回值只有true、false两个值。

14.逻辑运算符

        注意:逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean

        逻辑与&&:当两个操作数结果都为true时,这个表达式结果才为true

        逻辑或| | :当两个操作数结果有一个为true时,这个表达式的值就为true

        逻辑非 !:此表达式结果与操作数的值相反

        !!&&和| | 的特性:短路特性

15.位运算符

        & | ~ ^

                注意:当操作数为 boolean 的时候, 表示逻辑运算

16.位移运算符号

<<  >> >>>

        左移符号<<:二进制向右移动,左方补零

        右移 >>: 最右侧位不要了, 最左侧补符号位

        无符号右移 >>>: 最右侧位不要了, 最左侧补 0

没有无符号右移!!

17.条件运算符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值