zoukankan      html  css  js  c++  java
  • Java语言基础(2)

    1 包的概念

      把一个项目分割成几个模块,为每一个模块建立包,把该模块的.java文件统一放到对应包,通过包更好的管理.java文件,并且更好的分工合作。可以尽量避免出现.java文件重名现象。

      包命名的规则:
        com.公司名.项目名.模块名
      或者
        org.公司名.项目名.模块名
        eg:
          com.kalos.owen.login
          org.kalos.owen.reg

    2 变量(二)
      1)同时定义相同类型的多个变量
        数据类型 变量名1,变量名2,变量名3...
        eg: int a,b,c;
        案例:Demo1

    package com.kalos.demo;
    
    public class Demo1 {
    //编写一个main方法,定义4个int类型变量num1,num2
    //num3,num4,分别把100,200,300,400给num1,
    //num2,num3,num4赋值,最后输出每一个变量的值
      public static void main(String[] args) {
    /*	int num1;
    	int num2;
    	int num3;
    	int num4;
    */
    	int num1,num2,num3,num4;
    	num1 = 100;
    	num2 = 200;
    	num3 = 300;
    	num4 = 400;
    //syso+alt+/,自动生成输出语句
    	System.out.println(num1);
    	System.out.println(num2);
    	System.out.println(num3);
    	System.out.println(num4);
      }
    }


      2)变量的初始化:给变量的第1次赋值,称为变量的初始化。
        定义变量的同时,直接给变量赋值(初始化)。
        eg: int num = 100;
        案例:Demo2

    package com.kalos.demo;
     
    public class Demo2 {
    //main + alt + / + 回车:自动生成main方法
      public static void main(String[] args) {
        int num1=100,num2=200;
        System.out.println(num1);
        System.out.println(num2);
      }
    }
     
    //在Demo3的main方法中定义3个int类型a,b,c,分别把
    //100,200,300给变量赋值,最后输出每一个变量的值 
    package com.kalos.demo;
     
    public class Demo3 {
      public static void main(String[] args) {
        int a=100,b=200,c=300;
        System.out.println("a="+a);
        System.out.println("b的值是"+b);
        System.out.println("c="+c);
      }
    }
    

      


      3)System.out.println("要显示的内容"+变量名);
        System.out.println("num="+num);
        num=100
      4)变量必须要先定义,然后才可以使用
        案例:Demo4

    package com.kalos.demo;
    
    public class Demo4 {
      public static void main(String[] args) {
    //	num=100;
    //变量必须要先定义,然后才可以使用。
    	int num1;
    //	System.out.println(num1);
    //变量只有赋值(初始化)以后,才可以进行算术运算或者
    //输出	
      }
    }


      5)变量只有进行初始化以后,才可以进行输出或者参与算术运算
      6)在同一个作用域({ })中,变量名不能重复。
        案例:Demo5

    package com.kalos.demo;
    
    public class Demo5 {
      public static void main(String[] args) {
    	int num = 200;
    	System.out.println(num);
    //	int num;
    //在同一个作用域({}),变量名不能重复    
      }
    }


    3 标识符:java中起名字的规范
      1)标识符可以以字母,下划线_或者美元符号$开头,后面可以跟数字,字母,下划线_或者美元符号$。
        切记:千万不要以数字开头。
        正确: int a_1,b$,_a;
        错误: int 1a,2num;
      2)标识符中只有两个特殊字符:下划线_和美元符号$
        错误: int a!,a¥,num&;
      3)标识符严格区分大小写
        int S,s; //S和s是两个不同的变量
      4)标识符中不能出现空格
        错误: int a b;
      5)不能使用关键字命名
        关键字:sun公司设计Java的时候,提前对一些单词赋予了特殊的含义,这些单词就是关键字,比如:int,public,static...
        错误:int int;


    4 Java中的数据类型:基本数据类型和引用数据类型
      1)基本数据类型:4类8种
        a)整数类型:byte , short , int , long
        b)浮点(小数)类型:float,double
        c)布尔类型:boolean
        d)字符类型:char
      2)引用数据类型:sun公司或者其他开发人员为了简化开发,而单独设计的全新的数据类型。

    5 整型数据类型(整数类型):byte,short,int,long
      1)byte: 取值范围-128~127之间,8位
        01111111 = 1+2+4+8+16+32+64
              = 7+24+96
              = 127
        byte取值范围太小了,测试中使用极少,但在开发中经常使用byte类型来实现上传和下载,记住byte的取值范围。
      2)short:取值范围正负3W左右,16位,short取值范围太小,企业中使用极少。
      3)int:取值范围正负21亿左右,32位,取值范围大,int是企业也中使用最为广泛整数类型。
      4)long:超过int的取值范围都使用long来保存,64位,取值范围最大整数类型,企业中使用也极其广泛。
        int a = 100;
      5)字面量:参与算术运算或者赋值运算的数字,称为字面量。
        整型字面量默认是int类型。
        a)如果给byte或者short类型的变量赋值,系统会自动把整型字面量的类型由当前默认int类型,转换为对应byte或者short类型
          eg: byte num1 = 100; //100: int--->byte
        b)如果整型字面量的取值超过了int的取值范围,必须在该字面量的末尾加上L或者l,把该字面量由当前默认的int类型,转换为long类型。
        c)字面量也可以称为常数(了解)。
          案例:Demo6

    package com.kalos.demo;
    
    public class Demo6 {
    //整型类型:byte,short,int,long
    //byte:-128~127 , 8位,测试中使用极少
    //short:正负3W左右 ,16位,使用极少
    //int: 正负21亿左右,32位,使用最为广泛
    //long: 超过int的取值范围,使用long,64位,使用广泛
    //字面量:参与赋值或者算术运算的数字,称为字面量,整型
    //字面量默认是int类型。
    //1 给byte或者short类型变量赋值,系统会自动的把
    //整型字面量由当前默认的int,转换为对应short或者byte
    //2 如果整型字面量的取值超过int取值范围,必须在该
    //字面量的末尾加上L或者l,把当前字面量由int类型转换
    //为long类型
      public static void main(String[] args) {
    	byte num1 = 100;
    //分析:字面量100由当前默认int类型自动的转换为对应
    //byte类型,赋值给num1
    	System.out.println(num1);
    	short num2 = 1000; //int--->short
    	System.out.println(num2);
    	int num3 = 100000;
    	System.out.println(num3);
    	long num4 = 10000;
    	System.out.println(num4);
    //	long num5 = 100000000000;
    //报错了,100000000000超过int的取值范围。
    	long num6 = 100000000000L;
    	System.out.println(num6);
      }	
    }

    6 浮点数据类型(小数):float,double
      1)float:单精度,32位,虽然float占了32位,但是由于存储结构不同,float取值范围远远大于64位long,由于取值范围和精度都不如double,在企业中,float没有double使用广泛。
      2)double:双精度,64位,取值范围大,精度高,企业中使用最为广泛浮点类型。
      3)浮点类型字面量默认就是double类型,如果给float类型的变量赋值,该浮点类型字面量的末尾必须加上F或者f,把该字面量由默认double类型转换为对应float类型。
        案例:Demo7

    package com.kalos.demo;
    
    public class Demo7 {
    //浮点类型:float,double
    //float:32位,由于存储结构不同,32位float取值范围
    //远大于64位long。没有double使用广泛。
    //double:64位,取值范围大,精度高,使用最为广泛的
    //浮点类型。
    //浮点类型的字面量默认double,如果给float类型变量
    //赋值,在该浮点类型字面量的末尾加上F或者f。
      public static void main(String[] args) {
    	double num1 = 100.666;
    	System.out.println("num1="+num1);
    	float num2 = 1.66F;//double-->float
    	System.out.println("num2="+num2);
      }	
    }

    7 布尔类型:boolean
      boolean :用来保存一个判断的结果,要么true,要么false
        eg:boolean result = false;
          boolean result = 100>50;   //true
      案例:Demo8

    package com.kalos.demo;
    
    public class Demo8 {
    //布尔类型:保存一个判断的结果,要么true,要么false
      public static void main(String[] args) {
    	boolean result1 = false;
    	System.out.println("result1="+result1);
        boolean result2 = true;
        System.out.println("result2="+result2);
        boolean result3 = 100>200;
    //    					false
        System.out.println("result3="+result3);
      }
    }

    8 字符类型:char
      1)char:用来保存一个任意的字符,可以是字母,中文,日文...
        char 变量名 = '单个字符';
        不能赋空值
        eg:
          char c1 = 'a';
          char c2 = '中';
          '1' 和 1
          '1'是一个字符,显示作用
          1是数字,可以进行算术运算
          char c3 = '1';
        案例:Demo9

    package com.kalos.demo;
    
    public class Demo9 {
      public static void main(String[] args) {
    	char c1 = '夏';
    	System.out.println(c1);
    	char c2 = '中';
    	System.out.println(c2);
    	char c3 = 'z';
    	System.out.println(c3);
    	char c4 = '6';
    	System.out.println(c4);
    //	char c5 = '10';
    //char类型的变量,只能保存一个字符,'10'是'0'和'1'
    //两个字符
    //	char c6 = '';不能把空赋值给char类型变量
    	char c7 = ' ';//空格也是一个字符
      }
    }


      2)char类型字符可以自动转换为一个int类型数字
        eg:
          char c1 = '中';
          int num1 = c1;// '中'------>20013
        案例:Demo10

    package com.kalos.demo;
    
    public class Demo10 {
      public static void main(String[] args) {
    	char c1 = '中';
    	int num1 = c1;
    //分析:首先c1中的'中'自动类型转换,由当前的char类型
    //自动的转换为int类型('中'---->20013),最后把
    //20013赋值给num1
    	System.out.println(num1);
    	char c2 = '华';
    	int num2 = c2;
    //'华'----->21326,最后把21326赋值给num2	
    	System.out.println(num2);//21326
      }
    }


      3)如果使用“+”连接多个char类型字符,首先在底层把char类型字符先转换为对应int类型的数字,然后执行加法运算。
        案例:Demo11

    package com.kalos.demo;
    
    public class Demo11 {
      public static void main(String[] args) {
    	char c1='艾',c2=薇',c3='儿';
    	int sum = c1+c2+c3;
    	System.out.println(sum);
      }
    }


      4)char用来处理字符较为麻烦。

    9 String:字符串

      sun公司设计的一个引用类型,专门用来处理字符问题,企业中主要使用String来处理字符问题。
      1)格式:
        String 变量名 = "0个或者多个字符";
        eg:
          String str1 = "你好";
      2)使用"+"来串联多个String,返回结果也是String
        案例:Demo12

    package com.kalos.demo;
    
    public class Demo12 {
      public static void main(String[] args) {
    	String str1 = "";
    	System.out.println(str1);
    	String str2 = "今天天气很好!";
    	System.out.println(str2);
    	String str3 = "生命中总有生生不息的希望,";
    	String str4 = "和不期而遇的温暖!";
    	String str5 = str3 + str4;
    	System.out.println(str5);
      }
    }


      3)使用"+"来连接String和其他类型数据,返回结果也是String
        案例:Demo13

    package com.kalos.demo;
    
    public class Demo13 {
      public static void main(String[] args) {
    	String str = "今天:";
    	int num1 = 100;
    	String str1 = str + num1;
    	System.out.println(str1);
    	double num2 = 6.99;
    	String str2 = str + num2;
    	System.out.println(str2);
    	boolean num3 = false;
    	String str3 = str + num3;
    	System.out.println(str3);
    	
      }
    }

    10 自动类型转换

      数据会自动由取值范围小的类型向取值范围大的类型转换
      1) byte->short->int->long->float->double
        由于存储结构的不同,32位float的取值范围远远大于64位long
        char->int
        eg:
          int num1=100;
          double num2 = num1;
          分析:num1中100会进行自动类型转换,由当前默认的int类型自动的转换为double(100----->100.0),最后把100.0赋值给num2。
      2)自动转换不损失精度。

    package com.kalos.demo;
    
    public class Demo14 {
      public static void main(String[] args) {
    	int num1 = 10;
    	double num2 = num1;
    //分析:首先num1中10进行自动类型转换,由当前的int
    //类型自动转换为double(10-->10.0),最后把10.0
    //赋值给num2
    	System.out.println("num2="+num2);
    	byte num3 = 110;
    	double num4 = num3;
    //110--->110.0(byte--->double),最后把110.0
    //赋值给num4
    	System.out.println("num4="+num4);
      }
    }


    11 强制类型转换

      根据需要把数据强制的转换为所要求的类型
      1)格式: (要转换的类型)数据
        eg:
          double num1 = 100.99;
          int num2 = (int)num1;//100
      2)由浮点类型的数据强制的转换为整数,舍弃小数点后所有的数字。
      3 ) 强制类型转换容易损失精度。
        案例:Demo15

    package com.kalos.demo;
    
    public class Demo15 {
      public static void main(String[] args) {
    //强制类型转换格式:(要转换的类型)数据
    //强制类型转换容易损失精度
    	double num1 = 100.9999;
    	int num2 = (int)num1;//100
    	System.out.println("num2="+num2);
    //由浮点类型的数据强制转换为整数,舍弃小数点后所有的
    //数字。
    	
      }
    }
  • 相关阅读:
    输入任意十进制数字,转换为任意进制表示
    Integer 原码解读
    Java 中位移运算符 >>,>>>,<<
    解读源码中的问题
    HashMap 源码解读
    js:插入节点appendChild insertBefore使用方法
    冒泡排序实例
    nodejs学习笔记(2)--Express下安装模版引擎ejs
    nodejs学习笔记(1)--express安装问题:express不是内部也或者外部的命令解决方案
    Jquery取得iframe中元素的几种方法
  • 原文地址:https://www.cnblogs.com/KalosOwen/p/8379885.html
Copyright © 2011-2022 走看看