Java基础学习

一、基本数据类型

概念

在这里插入图片描述
ASCII码:A: 65,a: 97

Scanner scanner = new Scanner(System.in);
char y = scanner.next().charAt(0);//charAt(0)接收字符串的第一个字符

隐示数据类型转换

也叫自动类型转换

占用字节小的可以直接保存到占用字节大的变量中

byte b = 100;
int x;
x = b

在这里插入图片描述

显示数据类型转换

也叫强制类型转换
在这里插入图片描述

二、引用数据类型

类class

接口interface

数组Array

三、运算符

3.1 位运算符

位运算符作用在所有的位上,并且按位运算
假设a = 60,b = 13;它们的二进制格式表示将如下:
A = 0011 1100
B = 0000 1101

符号描述例子
&如果相对应位都是1,则结果为1,否则为000001100
竖线如果对应位都是0,则结果为0,否则为100111101
^如果相对应位值相同,则结果为0,否则为100110001
~按位取反~A: 11000011
<<按位左移运算符。左操作数按位左移右操作数指定的位数。A<<2: 11110000 ,B<<2: 00110100
>>按位右移运算符。左操作数按位右移右操作数指定的位数。A>>2: 1111,B>>2: 01000011
<<<按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。A<<<2: 00001111

3.2 条件运算符

条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

variable x = (expression) ? value if true : value if false

例子:

public class Test {
   public static void main(String[] args){
      int a , b;
      a = 10;
      // 如果 a 等于 1 成立,则设置 b 为 20,否则为 30
      b = (a == 1) ? 20 : 30;
      System.out.println( "Value of b is : " +  b );
 
      // 如果 a 等于 10 成立,则设置 b 为 20,否则为 30
      b = (a == 10) ? 20 : 30;
      System.out.println( "Value of b is : " + b );
   }
}

Value of b is : 30
Value of b is : 20

3.3 instanceof 运算符

该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。

( Object reference variable ) instanceof (class/interface type)

如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。

String name = “James”;
boolean result = name instanceof String; // 由于 name 是 String 类型,所以返回真

四、循环练习题

1.打印以下图形

*
**
***
****
*****
******
        for (int i = 1;i <= 6;i++){
            for (int j = 1;j <= i;j++){
               System.out.print("*");
           }
            System.out.println("");
       }

2.打印以下图形
a
bb
ccc
dddd
eeeee

        char c = 'a';
        for (int i = 0;i < 5;i++){
            for (int j = 0;j <= i;j++){
                System.out.print((char)(c + i));
            }
            System.out.println("");
        }

3.求所有三位数的水仙花数。
“水仙花数” 指的是一个三位数,个位、十位、百位的数字立方和等于原数本身。

        for (int i = 100;i < 1000;i++){
            int a = i % 10;
            int b = i / 10 % 10;
            int c = i / 100 % 10;
            if (a * a * a + b * b * b + c * c * c == i){
                System.out.println(i + "是水仙花数");
            }
        }

4.打印九九乘法表

1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	4*4=16	
5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	
        for (int i = 1;i <= 9;i++){
            for (int j = 1;j <= i;j++){
                System.out.print(i + "*" + j + "=" + i * j + "\t");
            }
            System.out.println("");
        }

5.求10!+9!+8!+…+1! = ?

        int a = 1,sum = 0;
        for (int i = 1;i <= 10;i++){
            for (int j = 1;j <= i;j++){
                 a = a * j;
            }
            sum = sum + a;
            a = 1;
        }
        System.out.println(sum);

6.求1-100所有质数的和

质数:只能被1和它本身整除。1不是质数,也不是合数。

        int sum = 0;
        for (int i = 2;i < 100;i++){
            int k = 1;
            for (int j = 2;j < i;j++){
                if (i % j == 0){
                    k = 0;
                    break;
                }
            }
            if (k == 1){
                sum = sum + i;
            }
        }
        System.out.println(sum);

7.已知一只公鸡5块钱,母鸡3块钱,小鸡1块钱3只,
问100块钱买100只鸡有哪些方案?钱花完

        for (int i = 0;i < 20;i++){
            for (int j = 0;j < 33;j++){
                    int k = 100 - i - j;
                    if (5 * i + 3 * j + k/3 == 100 && i + j + k == 100){
                        System.out.println(i + "只公鸡," + j + "只母鸡," + k + "只小鸡");
                    }
                
            }
        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值