java类型转换、变量常量、运算符、包机制、Scanner类及条件语句

1、类型转换
直接转换: 的数据类型向高数据类型转换
强制转换:数据类型向低数据类型转换,(类型)变量名
注:1、不能对布尔值进行转换;
2、不能把对象类型转换为不相干的类型;
3、把高容量转换到低容量用强制转换;
4、转换中可能存在内存溢出或精度问题

int money = 1000000000;
int year = 20;
long total = money*year;//输出为负数,因为money和year均为int,则默认为int,所以在转换为long之前就输出为int类型了
long total = money*((long)year);//可以先把一个数转换为long

2、变量、常量和作用域:

public class Test02 {
    //常量,final 常量名 = 值,常量名用大写
    //static,final均为修饰符,不存在先后顺序
    static final double PI = 3.14;

    //类变量,前加static,可以直接输出
    static double salary = 2500;

    /*实例变量:从属于对象,在类与方法之间定义。若不进行初始化,此类型默认值为0 或 0.0;
    布尔值默认为false;
    除了以上基本类型外,其余默认值为null。
     */
    String name;
    int age;

    public static void main(String[] args) {

        //局部变量:必须声明和初始化,在方法内部使用
        int i = 10;
        System.out.println(i);

        //实例变量不可直接输出,变量类型 变量名 = new Test01();
        Test02 test02 = new Test02();
        System.out.println(test02.age);//输出为0
        System.out.println(test02.name);//输出为null

        //类变量直接输出
        System.out.println(salary);

        //常量
        System.out.println(PI);
    }
}
/*
变量命名规范:
类成员变量、局部变量:首字母小写和驼峰原则(monthSalary)
常量:大写字母和下划线
类名:首字母大写和驼峰原则(GoodMan)
方法名:首字母小写和驼峰原则
 */

3、运算符
一元运算符:+、 -、 ++i、 i++、i–、–i、!
i++和++i相当于i=i+1,
在参与运算时,i++先运算,运算之后自身再加1,++i是自身加1之后再参与运算
二元运算:±*/%
java中整形做除法运算取得的商,不考虑余数,"%"表示模运算,取的是对应的余数
三元运算 :条件?条件成立返回的值:条件不成立返回的值 int result = i>j?i:j;
=表示赋值 ==表示比较两值是否相等,返回布尔值
例如幂运算等需要借助Math工具类来执行

double pow = Math.pow(2,3)//计算2的三次方

位运算:&(与),|(或),^(异或),~(非),<<(位左移,相当于*2),>>(位右移,相当于/2)
逻辑运算:&&(与),||(或),!(非)
扩展运算符
字符串连接符(+):

int a = 10;
int b = 20;
System.out.println(""+a+b);//输出1020,字符串在前,默认为字符串连接
System.out.println(a+b+"");//输出30

+=(a+=b即a=a+b),-=,/=,*=

4、包机制
为了更好组织类,Java提供包机制,用于区别类名的命名空间
包语句句法格式:

package pkg1[.pkg2[.pkg3...]];

一般利用公司域名倒置作为包名。
为了可以使用某一个包的成员,必须明确导入包:

import package1[.package2...].(classname|*);//*代表导入包中所有内容

5、Scanner类使用

import java.util.Scanner;

public class Test03 {
    public static void main(String[] args) {
        //输入多个数字求其总和和平均数,每输入一个数字回车确认,通过输入非数字结束输入并输出执行结果。

        Scanner scanner = new Scanner(System.in);//使用scanner输入的固定开头用法

        //和
       double sum = 0;
       //计算输入了多少个数字
        int m = 0;

        //循环判断是否还有输入,并进行求和统计
        while(scanner.hasNextDouble()){//hasNextDouble()判断是否有下一个数输入
            double x = scanner.nextDouble();//有下一个数输入的话,nextDouble()获取输入数字
            m = m + 1;
            sum = sum + x;
            System.out.println("你输入了第"+m+"个数据,当前结果为sum="+sum);
        }
        System.out.println(m+"个数的和是"+sum);
        System.out.println(m+"个数的平均值是"+(sum/m));

        scanner.close();//scanner用完必须关闭,避免占内存
    }
}
/*注:Scanner类中方法next()和nextline()
1、next()不能得到带有空格的字符串,它遇到空格就会结束
2、nextline()以Enter为结束符,字符串中可以有空格
 */

6、条件语句
if(条件){
执行业务操作
}、

if(条件){
条件成立执行的语句
}else{//否则
条件不成立执行的语句
}、

if(条件){
条件成立执行的语句
}else if(){//否则
条件不成立执行的语句
}else if(){//否则
条件不成立执行的语句
}else{
}

if(条件){
if(条件){
条件成立执行的语句
}else{//否则
条件不成立执行的语句

}else{//否则
条件不成立执行的语句

switch:一般当条件值是固定的值的情况下
switch(变量){
case 值1:操作
break;
case 值2:操作
break;
case 值1:操作
break;
default:
操作;

不加break,会把之后的语句全部输出。
switch支持哪些数据类型:byte,short,int ,char,String

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值