zoukankan      html  css  js  c++  java
  • java基础---01

    数据类型

    基本数据类型

    数值类型

    整数(byte,short,int,long)
    浮点数(float,double)
    字符(char)
    

    非数值类型

    布尔(boolean)
    

    引用数据类型

    类(class)
    接口(interface)
    数组([])
    

    数据类型内存占用和取值范围

    数据类型              关键字                 内存占用          取值范围
    整数                    byte                       1                    -128~127
                              short                      2                    -32768~32767
                              int                          4                  -2的31次方到2的31次方-1
                              long                        8                  -2的63次方到2的63次方-1
    浮点数                 float                        4                  负数:-3.402823E+38到-1.401298E-45。正数:4.9000000E-324到1.797693E+308
    字符                    char                        2                  0~65535
    布尔                    boolean                    1                  true,false
    # E+38表示是乘以10的38次方,同样E-45表示乘以10的负45次方
    

    定义变量

    变量定义格式:
          数据类型   变量名=变量值;
    基本数据类型:
          byte,short,long,int,float,double,char,boolean
    变量的使用:
          取值格式:变量名
          修改值格式:变量名=变量值
    
    public class VariableDemo1{
      public static void main(String[] args) {
          //定义int类型
          int a = 10;
          System.out.println(a);
          //定义float类型
          float f = 13.14F;   # 需要加一个F
          System.out.println(f);
          //定义long类型
          long l = 100000000000L;   # 需要加一个L。为了防止类型过大
          System.out.println(l);
          //定义double
          double d = 13.14;
          System.out.println(d);
          // 定义byte类型
          byte b = 10;
          System.out.println(b);
          // 定义short类型
          short s = 100;
          System.out.println(s);
          // 定义char类型
          char c = 'ss';
          System.out.println(c);
          //定义boolean类型
          boolean bb = true;
          System.out.println(bb);
      }
    }
    

    类型转换

    public class ConversionDemo {
      public static void main(String[] args) {
        //自动类型转换
        double d = 10;
        System.out.println(d);
    
        //定义byte类型的变量
        byte b = 10;
        short s = b;
        int i = b;
      
        //这是不可以的,类型不兼容
        //char c = b;
    
        //强制类型转换
        int k = (int)88.88  # 如果不加int,float转换int会报错。
      }
    }
    

    算术运算符

    +,-,*,/,%
    除法得到的是商,取余得到的是余数
    整数相除只能得到整数,要想得到小数,必须有浮点数的参与
    

    字符的+操作

    public class OperationDemo {
      public static void(String[] args){
        //定义两个变量
        int i = 10;
        char c = 'A'; //'A'的值是65
        c = 'a';  # a对应的ascil码的值
        c = 'o';  # o对应的acill码的值
        // char ch = i + c;
        // char类型会被自动提升为int类型
        int j = i + c;  # 做运算时其实是用字符对应的ascill码的值做运算
        System.out.println(j);  
    
       //字符串和int类型做拼接
      System.out.println('itheima' + 666)
    
      System.out.println('heima' + 6 + 66)  #当字符串在前面时会直接拼接,不会做运算处理  heima666
      System.out.println(1+99+'heima')  # 当int在前时,先做运算,再做后面字符串的拼接   100heima
      }
    }
    

    i++和++i的区别

      int i = 10;
      int j = i++;
      System.out.println("i:" i);       # 11 
      System.out.println("j:", j)      # 10
      分析:会先把i赋值给j,然后打印的时候i自增+1,所以打印的i结果为11,j打印的结果为之前i没有自增的值为10;
      
      int j = ++i;
      System.out.println("i:" i);       # 11
      System.out.println("j:", j)      # 11
      分析:i先会自增+1,然后再把i赋值给j,打印的i结果为11,j打印的结果也为11;
    

    三元运算

     a>b?a:b   # a是否大于b,大于则输出a,否则输出b
    

    数据输入

    Scanner

    1.导包
    import java.util.Scanner
    2.创建对象
    Scanner sc = new Scanner(System.in);
    3.接收数据
    int i = sc.nextInt();
    

    分支语句

    if语句

    if(关系表达式){
      语句体1;
    }else if{
      语句体2;
    }else{
      语句体3;
    }
    

    switch

    switch(表达式){
      case值1:
        语句体
        break;
      case值2:
        语句体
        break;
      ...
      default:
        语句体;
        break;
    }
    

    do...while

    do {
      循环体语句;
    }while(条件判断语句);
    
    do {
      循环体语句;
      条件控制语句;
    }while(条件判断语句);
    

    Random

    1.导包
    import java.util.Random
    2.创建对象
    Random r = new Random();
    3.获取随机数
    int number = r.nextInt(10);  # 获取数据的范围:[0,10] ,包括0不包括10
    

    数组

    1.格式一
    数据类型[]  变量名
    int[] arr
    2.格式二
    数据类型  变量名[]
    int arr[]
    

    动态初始化数组

    初始化时只指定数组长度,由系统为数组分配初始值
    数据类型[] 变量名 = new 数据类型[数组长度]
    int[] arr = new int[3]
    

    数组元素访问

    数组名[索引]   # 索引下标为0开始
    

    定义方法的通用格式

    public static 返回值类型 方法名(参数){
      方法体;
      return 数据;
    }
    # 注意:明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型。
    明确参数:主要是明确参数的类型和数量
    

    方法重载

    方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
    1.多个方法在同一个类中
    2.多个方法具有相同的方法名
    3.多个方法的参数不相同,类型不同或者数量不同
    

    比较两个数字是否相同的方法重载

    public static void main(String[], args){
      //调用方法
      System.out.println(compare(10,20));
      System.out.println(compare((byte)10,(byte)20));
      System.out.println(compare((short)10,(short)20));
      System.out.println(compare((long)10,(long)20));
    }
    public static boolean compare(int a, int b){
      return a == b;
    }
    public static boolean compare(byte a, byte b){
      return a == b;
    }
    public static boolean compare(short a, short b){
      return a == b;
    }
    public static boolean compare(long a, long b){
      return a == b;
    }
    

    方法参数传递

    1.方法参数传递(基本类型)
    public static void main(String[] args){
      int number = 100;
      System.out.println('调用change之前:' + number);   # 100
      change(number);
      System.out.println('调用change之后:' + number)   #100
    }
    public static void change(int number){
      number = 200;
    }
    上面传递number的值100到change方法中,然后将将number重新赋值,并不影响main方法中的number原来的值。所以两次打印的结果都为100;
    2.方法参数传递(引用类型)
    对于引用类型的参数,形式参数的改变,影响实际参数的值
    public static void main(String[] args){
      int[] arr = {10, 20, 30};
      System.out.println('调用change之前:' + arr[1]);   # 20
      change(arr);
      System.out.println('调用change之后:' + arr[1])   #200
    }
    public static void change(int[] arr){
      arr[1] = 200;
    }
    上面传递arr的值到change方法中,然后将arr下标为1的索引对应的值重新赋值,影响main方法中的arr中原来的值。所以两次打印的结果不一样;
    

    案例:数组遍历

    需求:设计一个方法用于数组遍历,要求遍历的结果在一行上显示,例如:[11,22,33,44,55]
    public class ArrFor {
        public static void main(String[] args) {
            int[] arr = {11,22,33,44,55};
            // 调用方法
            change(arr);
        }
        public static void change(int[] arr){
            System.out.print('[')    # 不换行打印
            for(int i=0;i<arr.length;i++){
                if(i==arr.length-1){
                System.out.print(arr[i]);
        }else{
                System.out.print(arr[i]+",");
        }
    
            }
            System.out.println(']')
        }
    }
    
    

    -------------------------------------------

    个性签名:代码过万,键盘敲烂!!!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    core mvc 分页
    core下的routelink
    python 3使用binascii方法的报错解决
    汉字乱码处理
    DLL的调用方法
    Python内置函数清单
    Linux 几种上传文件到linux服务的方法
    在VS中添加lib的第三种方法
    Bash Shell 数字/字符比较大小
    虚拟Linux服务器不能获取IP的解决办法
  • 原文地址:https://www.cnblogs.com/weiweivip666/p/14588583.html
Copyright © 2011-2022 走看看