JAVA学习笔记

符号的位置和计算的关系

		int s = 100;
       	// 符号在前面,先计算再打印
        System.out.println(--s); // 99
        // 符号在后面,先打印变量再计算
        System.out.println(s++); // 99
        System.out.println(s); // 100

不同大小的数据计算问题

		byte b = 10;
		// 因为b的类型是byte,所以后面计算结果类型是int,因此无法存入变量b中
		// 错误:b = b + 5;
		// 对策:将计算结果转换为byte类型
		// 下面为正确的写法
        b = (byte) (b + 5);
        System.out.println(b);
        // 疑问:b = b + (byte)5; 提示:不兼容的类型: 从int转换到byte可能会有损失,但是将计算结果转换为byte不也是大转小吗?为什么不提示?

		// 下面这种方法是可以正常计算的
        b += 5; // 等同于:b = (byte) (b + 5); 而不是:b = b + 5;
        System.out.println(b);

+号运算符的计算原则

  1. 如果两边都是数字:数字+数字–>求和
  2. 如果有一个是字符:数字+字符串–>字符串
		System.out.println(20+30); // 50
		// 下方如果是减号则会编译错误
        System.out.println(20+"30"); // 2030
        System.out.println(10+(20+"30")); // 102030
		
		// 原因:因为按照计算顺序a是去和"10+20="的字符串相加,所以他自己也成为字符串,再去加b也是同样的道理
		int a =10;
        int b =20;
        System.out.println("10+20="+a+b); // 10+20=1020
        // 正确写法
        System.out.println("10+20="+(a+b)); // 30

三元表达式

		boolean sex = false;
        char jieguo = sex ? '男' : '女';
        System.out.println(jieguo);
        // 注意结果类型的赋值必须跟后面的类型是一样的才行
        String jieguo = sex ? "男": "女";

作用域的问题

public class hello {

    // 成员变量
    // 这里的static必须加,别问为什么
    static int k = 1000;
    // 成员变量如果没有赋值系统会自动默认赋值0
    static int f;

    public static void main(String[] args) {
		int a = 100;  // 只要在main方法里面就都可以用
		
        for (int q = 1; q<=10; q++){
            System.out.println(q);
        }
        System.out.println(q); // 此时是无法访问q的,只作用在大括号里面
        
        System.out.println(k); // k可以被访问

    }
}

可以给嵌套循环可以命名

		for1:for (int j =0; j<3; j++){

            for2:for (int k =0; k<10; k++){
                if (k == 5){
                    break for1; // 可以直接终止第一个循环
                }
                System.out.println(k);
            }
        }

递归

public class hello {
    public static void main(String[] args) { // void 在方法申明的时候表示该方法没有返回值就行了。

        int n = 4;
        int result = sum(n);
        T.p(result);


    }

    public static int sum(int n) {
        if (n==1){
            return 1;
        }
        return n+ sum(n-1);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值