Java基础--类型操作

类型的基础

/**
 * 对于引用类型的变量,在使用之前需要进行初始化,否则会抛出NULLPointerException异常
 *   除了成员变量,java中还可以顶一句不变量,局部变量在使用之前必须要对其进行初始化,虚拟机不会进行初始化工作,否则会报告错误
 * */
public class Initialization {
	 private byte b; // 声明比特类型变量b
	    private short s; // 声明短整型类型变量s
	    private int i; // 声明整型类型变量i
	    private long l; // 声明长整型类型变量l
	    private float f; // 声明单精度浮点类型变量f
	    private double d; // 声明双精度浮点类型变量d
	    private boolean bl; // 声明布尔类型变量bl
	    private char c; // 声明字符类型变量c
	    private String string; // 声明引用类型变量string

	    public static void main(String[] args) {
	        Initialization init = new Initialization();
	        System.out.println("byte类型的初始值:" + init.b); // 输出byte类型变量初始值
	        System.out.println("短整型类型的初始值:" + init.s); // 输出短整型类型变量初始值
	        System.out.println("整型类型的初始值:" + init.i); // 输出整型类型变量初始值
	        System.out.println("长整型类型的初始值:" + init.l); // 输出长整型类型变量初始值
	        System.out.println("单精度浮点类型的初始值:" + init.f);// 输出单精度浮点类型变量初始值
	        System.out.println("双精度浮点类型的初始值:" + init.d);// 输出双精度浮点类型变量初始值
	        System.out.println("布尔类型的初始值:" + init.bl); // 输出布尔类型变量初始值
	        System.out.println("字符类型的初始值:" + init.c); // 输出字符类型变量初始值
	        System.out.println("引用类型的初始值:" + init.string);// 输出引用类型变量初始值
	    }
	

类型之间的转换

转换
/**
* 所有整数运算都被自动转换为int类型在进行计算
* 所有浮点数组都被自动转换为double类型进行运算
*
* 高类型数据向地类型数据进行强制类型转换,并注意运算结果是否丢失数据
*
* 转换后的类型 变量=(转换后的类型)被转换的变量
* */

在这里插入代码片
byte b=127;
        char c='W';
        short s=23561;
        int i=3333;
        long l=400000L;
        float f=3014159F;
        double d=54.523;
        //从低类型向高类型自动转换
        System.out.println("累加byte等于:"+b);
        System.out.println("累加char等于:"+(b+c));
        System.out.println("累加short等于:"+(b+c+s));
        System.out.println("累加int等于:"+(b+c+s+i));
        System.out.println("累加long等于:"+(b+c+s+i+l));
        System.out.println("累加float等于:"+(b+c+s+i+l+f));
        System.out.println("累加double等于:"+(b+c+s+i+l+f+d));
        System.out.println("把long强制类型转换为int:"+l+"---------"+(int)l);//高类型到地类型的强制转换
        System.out.println("把long强制类型转换为short:"+l+"---------"+(short)l);//高类型到地类型转换会丢失数据
        System.out.println("把double强制类型转换为int:"+l+"---------"+(int)d);//实数到整数转换将舍弃小数部分
        System.out.println("把short强制类型转换为char:"+l+"---------"+(char)d);//整数到字符类型的转换将获取对应编码的字符
/**
 * 温度单位转换工具
 * 
 *    将温度的摄氏度转换成华氏度
 *    
 *    
 *     next()  这个方法呢,你输入了一串字符串, 他只得到空格、tab键、回车的第一个字符串,比如:hello world! 这个字符串,只得到 hello ,如果是循环的话,第二次就能得到 world!
 *     
 * */
public class CelsiusConverter {
	   public double getFahrenheit(double celsius) {
	        double fahrenheit = 1.8 * celsius + 32;// 计算华氏温度
	        return fahrenheit;// 返回华氏温度
	    }

	    public static void main(String[] args) {
	        System.out.println("请输入要转换的温度(单位:摄氏度)");
	        Scanner in = new Scanner(System.in);// 获得控制台输入
	        double celsius = in.nextDouble();// 获得用户输入的摄氏温度
	        CelsiusConverter温度 converter = new CelsiusConverter温度(); // 创建类的对象
	        double fahrenheit = converter.getFahrenheit(celsius); // 转换温度为华氏度
	        System.out.println("转换完成的温度(单位:华氏度):" + fahrenheit);// 输出转换结果
	    }
}

加密运算(位运算)

/**
 *  Scanner类是java的扫描类,可以从输入流中读取指定类型的数据或字符串
 *     位运算的异或运算符"^"把字符串与一个指定的只进行异或运算,改变字符串中的每个字符的值-------这样就得到一个加密后的字符串
 *    异或运算
 *         字符或者数值x与一个数值m进行异或运算得到y;
 *         则在用y与m进行异或运算就可以还原为x
 *               这个原理可以实现加密和解密功能
 * */
在这里插入代码片
  Scanner scan=new Scanner(System.in);
        System.out.println("输入");
        String password=scan.nextLine();//获取输入值
        char[] array=password.toCharArray();//获取字符数组
        for(int i=0;i<array.length;i++){    //遍历字符数组
            array[i]=(char) (array[i]^20000); //对每个数组元素进行异或运算
        }
        System.err.println("加密或解密结果如下:"+new String(array));  //输出秘钥

三元运算符

Scanner scan=new Scanner(System.in);//创建输入流扫描器
        System.out.println("数值输入:");
        long number=scan.nextLong();//避免类型转换等业务代码。 public long nextLong()返回龙类型的数值,这个数是从扫描器封装的输入流中获取的
        String check=(number%2==0)?"偶数":"奇数";
        System.out.println(check);

左移与右移运算符号

左移运算符号

在这里插入代码片
Scanner scan=new Scanner(System.in);//创建扫描器
        System.out.println("数值输入:");
        Long number=scan.nextLong();//获取输入的整数
        System.out.println(number+"--乘以1的结果--"+(number<<1));
        System.out.println(number+"--乘以2的结果--"+(number<<2));
        System.out.println(number+"--乘以3的结果--"+(number<<3));
        System.out.println(number+"--乘以4的结果--"+(number<<4));

右移运算符号

Scanner scan=new Scanner(System.in);//创建扫描器
        System.out.print("数值输入:");
        Long number=scan.nextLong();//获取输入的整数
        System.out.println(number+"--除以1的结果--"+(number>>1));
        System.out.println(number+"--除以2的结果--"+(number>>2));
        System.out.println(number+"--除以3的结果--"+(number>>3));
        System.out.println(number+"--除以4的结果--"+(number>>4));

变量值得互换

不借助第三变量

在这里插入代码片
Scanner scan=new Scanner(System.in);//创建扫描器
        System.out.println("输入数值A:");
        long A=scan.nextLong();//接受第1个变量值
        System.out.println("输入数值B:");
        long B=scan.nextLong();//接受第2个变量值
        System.out.println("A="+A+"\tB="+B);
        System.out.println("执行变量互换....");
        //执行变量互换
        A=A^B;
        B=B^A;
        A=A^B;
        System.out.println("A="+A+"\tB="+B);

互换需要第三变量

在这里插入代码片
Scanner scan=new Scanner(System.in);//创建扫描器
        System.out.println("输入数值A:");
        long A=scan.nextLong();//接受第1个变量值
        System.out.println("输入数值B:");
        long B=scan.nextLong();//接受第2个变量值
        System.out.println("A="+A+"\tB="+B);
        System.out.println("执行变量互换....");
        //执行变量互换
        long C=A;
        A=B;
        B=C;

        System.out.println("A="+A+"\tB="+B);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值