java基础之不会用,如何走进java的世界上

第二章java的基础用法



一、IDE的使用

  • IDE集成的开发环境,一般用于提供程序的开发环境的应用
    无论是平时用的idea还是eclipse他们都属于IDE
    也可以说他们统称IDE

二、注释

1.单行注释

"//"一般我会用他来解释说明放在代码的后面

2.多行注释

"/* */"注释多行的时候,可以一次完成

3.段落注释

"/** */"这个就强了,文档注释,用于为类,方法(函数),属性 功能进行说明,可在调用时提示

三、特殊字符

1.关键字的定义和特点

  • 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
  • 特点:关键字中所有字母都为小写

2.保留字

  • 现有Java版本尚未使用,但以后版本可能会作为关键字使用。
  • 现在保留字既不能当关键字用也不能当标识符用
    eg: goto const

3.标识符:

  • Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符.
    规范标识符:
  • 包名:多单词组成时所有字母都小写:xxxyyyzzz
  • 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
  • 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
  • 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

四、变量与数据类型

1.变量

  • 变量是程序中最基本的存储单元,程序执行中数值可变的;
    就像初中数学学的y=x一样,x是变量是可变的

2.数据类型

按照数据类型分可以分为俩大类{基本数据类型} {引用数据类型}
基本数据类型有8

  • 可分为数值型,字符型,布尔型
  • 数值型又可分为整数型和浮点型
  • 整数型有byte short int long
  • 浮点型有float double
  • 字符型有char
  • 布尔型有boolean
    引用数据类型可分为类,接口,组
  • 分别是class,interface,[]
  • 其中字符串String属于类

3.补(基本数据类型)

上述基本类型都有属于他们的占用存储空间和表述范围
注意:不可以0或非 0 的整数替代false和true
代码如下(示例):

 /*
        整型
         */
        //byte 一个字节
        byte a = 127;//-128-127
        System.out.println(""+a);
        //short 俩个字节
        short b = 32767;
        //int 四个字节
        int c = 1;
        //long 八个字节
        long d = 200;
        /*
        浮点型
         */
        //float 四个字节
        float e = 0.5f;
        // double 八个字符
        double f = 10;
        /* 
        字符型
         */
        //char 俩个字符
        char j = 'a';
        /*
         布尔型
         */
        //boolean 只允许true false

五、进制输入

  • 二进制:0,1 ,满2进1.以0b或0B开头。
  • 十进制:0-9 ,满10进1.
  • 八进制:0-7 ,满8进1. 以数字0开头表示。
  • 十六进制:0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写
    代码如下(示例):
 //二进制以0B开头
        //八进制以0开头
        //十六进制以0x开头
        int z = 0B11;//二进制
        System.out.println(z);
        int x = 011;//八进制
        int y = 0X111;//十六进制

六、ASCLL

  • 最早的编译表ASCLL表 只能表示英文
  • 中国用的就是GBK GB2312
  • 后来的诞生了unicode编码表,里面包含各个国家的文字字符
  • utf-8是一种可变长度的编码表

七、数据类型的转换

1.普通数据类型转换

  • byte,short,char不可转换,Boolean不参与转换,
  • 排序为int<long<float<double
  • 混合运算也可以转换
    注只能从低的转成高的,不能从高的转化成低的

代码如下(示例):

  int a = 10;
        long b = a;
        float c = a + b;

2.强制数据转换

    数据类型大的转小的强制转换
      int f = (int) e;
     可能会出现俩个问题,
     (1)会溢出
     (2)会精度降低

代码如下(示例):

   long e = 1000000000l;
        int f = (int) e;//强型转换
        int j = 258;
        byte k = (byte) j;//输出必定出错因为byte最大只有127而这个数值却超标
        System.out.println(k);
        float x = 10.5f;
        long y = (long)x;//输出结果为10因为整形这里没有四舍五入只能退一,数字多大输出多大
        System.out.println(y);

八、赋值

需要掌握的有许多

1.a+=b

这个可以转换为a=a+b
代码如下(示例):

       /*赋值
        * 注意俩边的值的类型要相匹配
        * a+=b       ---->a=a+b     */
        short s = 3;
       //    s = s+2;          左边是short,右边加二加的是int类型则不响应
             s += 2;//这个相等于s=s+2;  但是他相当于隐世转换;
        System.out.println(s);

2.=与==的区别

=指的是赋值==一般用在if等表示条件
代码如下(示例):

        /*区别= 与 ==*/
        boolean A = false;
        if (A == true) {         //这里==表示条件
            System.out.println("输出为真");}
        else{
            System.out.println("输出为假");
        }
        if (A = true) {         //这里=表示赋值,将true赋值给了A
            System.out.println("输出为真");}
        else{
            System.out.println("输出为假");
        }

3.注:赋值时俩边的值的类型要相匹配

4.条件运算

代码如下(示例):

        /*思考*/
        int B = 1;
        B *= 0.1;
        System.out.println(B); //因为B为int数据,所以0.1为0
        B++;
        System.out.println(B);
        /*条件运算符*/
        int a = 10,b = 5;
        int c = (a<b)?a:b;//如果a<b则输出a,否则输出b
        System.out.println(c);

九、比较运算与逻辑运算

1.比较运算

  • 比较运算符中++a与a++的区别
    • ++x先运算在赋值
    • x++先赋值在运算

代码如下(示例):

/*比较运算符*/
        /*++xx先运算在赋值*/
        int x,y;
        x = 5;
        y = ++x;
        System.out.println(y);
        System.out.println(x);
        /*x++先赋值在运算*/
        int a,b;
        a = 5;
        b = a++;
        System.out.println(a);
        System.out.println(b);
        /*运算*/
        int d,f,e;
        d = 10;
        f = 5;
        e = 20;
        System.out.println(d == f);
        String j = "abc";
        String k = "abc";
        System.out.println(j == k);

2.逻辑运算

  • $ 与运算,俩个都为true才为true
  • &&短路与运算,第一个为false则不执行下一语句
  • | 或运算,俩个有一个为true结果才为true
  • ||短路或运算,第一个为true则不执行下一语句
  • ! 非运算, A为true,则!A为false
  • 异或运算,相同为false,不同为true
    注:&和&& 与运算和短路与运算的区别 $$就像短路一样,d++不实现
    代码如下(示例):
        /*逻辑运算
        * & 与运算,俩个都为true才为true
        * &&短路与运算,第一个为false则不执行下一语句
        * | 或运算,俩个有一个为true结果才为true
        * ||短路或运算,第一个为true则不执行下一语句
        * ! 非运算, A为true,则!A为false
        * ^ 异或运算,相同为false,不同为true
        * */
//        &与运算
        System.out.println(d < f & f < e);//false&true    false
        System.out.println(d < f & f > e);//false&false   false
        System.out.println(d > f & f < e);//true&true     true
        /*&和&&   与运算和短路与运算的区别   $$就像短路一样,d++不实现   */
        System.out.println(d < f && d ++ < f);   //遇见第一个false就短路了,后面的d++就不再执行了
        System.out.println(d);
        System.out.println(d < f & d ++ < f);
        System.out.println(d);
        System.out.println(e > f && e ++ < d);   //遇见第一个true,所以后面e++继续执行
        System.out.println(e);

十、位运算

1.位运算定义

  • 位运算:二进制比特位上的操作
  • <<左移 >>右移 >>>无符号右移就是不需要关心高位置的符号,如果有影响只需要在符号位补0
    代码如下(示例):
     /*
        *位运算  二进制比特位上的操作
        * */
        int a = 2;
        System.out.println(a<<1);  //2换为二进制则是10,左移一位表示100,即为4相当于乘2
        /*
        *   <<左移  >>右移  >>>无符号右移就是不需要关心高位置的符号,如果有影响只需要在符号位补0
        * */
        int b = 8;
        System.out.println(b>>1);//输出为4
        //&  二进制与,11得1 01得0 00得0
        System.out.println(3&4);//因为前后都是数据类型不是逻辑类型   3的二进制为011,4的二进制为100,俩个一与结果为0
        //|   二进制或 10得1 11得1 00得0
        System.out.println(3|4);// 011  |  100=111结果为111即7
        //^   二进制异或 11得0 00得0 10得1
        System.out.println(3^4);// 011  ^ 100=111即为7

2.二进制 底层应用

由俩个数交换遍历发现二进制底层算法的快速应用
代码如下(示例):

 /*
     * int 型俩个数字进行交换*/
    int a = 5,b = 10;
    int c;
    c = a;
    a = b;
    b = c;
    System.out.println("a="+a);
    System.out.println("b="+b);
    //新方法用底层的运算规则,异或
    //用俩个数异或后的结果与其中一个值进行异或操作,其值会等于另一个值
    int x = 5,y = 10;
    x = x^y;
    System.out.println(x);
    y = x^y;
    System.out.println(y);
    x = x^y;
    System.out.println(x);
    //快速算出二的三次方
    int z = 2;
    System.out.println(z<<2);

十一、输入输出

注:在自己的类中用别人的类,需要使用import导入别的类
代码如下(示例):

package datatype.day1;
//在自己的类中用别人的类,需要使用import导入别的类
import java.util.Scanner;

public class Input {
    public static void main(String[] args) {
        //创建一个叫做Scanner对象的类,传入一个叫做输入流的对象
        Scanner cs = new Scanner(System.in);
        System.out.println("请输入年龄:");
               double age = cs.nextDouble();
        System.out.println("请输入姓名:");
        String name =cs.next();
        System.out.println("姓名:"+name+" 年龄:"+age);
    }
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值