关于java数据类型与变量、运算符、程序逻辑控制、输入输出、方法有感(与C不一样的部分)

数据类型与变量部分:

Java 的整形家族比 C 多了 byte 类型

Java 的整形数据类型的二进制均为有符号整形,最左边的均为符号位,所以数据表达范围是 [-pow(2,n),pow(2,n - 1)]

Java 的 boolean 类型与整形类型并没有关联(如 非0 不再代表 true 、0 不再代表 false)

Java 由类型的加大版本,可以理解为有更多的功能 ,如 Integer、Character、Long、Short、Byte、Float、Double、Boolean 

Java 的加大版本可以用来打印最大值,如:System.out.println(Character.MAX_VALUE);和最小值 System.out.println(Character.MIN_VALUE);

string 转为 整形:

String str = "123";


int a = Integer.parseInt(str);
System.out.println(a);


long d = Long.parseLong(str);
System.out.println(d);

整形 转为 string:

int num = 10;


String s1 = num +"";
System.out.println(s1);


String s2 = String.valueOf(num);
System.out.println(s2);

字符串拼接:

String str = "hello";
System.out.println(str);

String str2 = "world";
System.out.println(str2);


// 拼接
String str3 = str + str2;
System.out.println(str3);

浮点家族默认为 double 类型,所以当表达 float 类型时需要

float = 12.5F;

long 类型也要加后缀:

long a = 10L;

整形计算时一般都先转为4个字节计算

public static void main() {
    byte a = 10;
    byte b = 20;
    int c = a + b;
    byte d = (byte)(a + b);
    System.out.println(c);

}

程序逻辑控制部分:

注意课后习题:打印水仙花数、1 - 100 之间的素数、猜数字(特别注意随机数的生成)

用迭代解决斐波那契数列

switch 中的 case 可以跟 字符串

public static void main() {
    int a = 0;
    String str = "abcd";
    switch(str) {
        case "abcd":
            System.out.println("1");
            break;
        default:
            System.out.println("匹配失败");
            break;
        }
}

输入输出部分:

Java 是如何进行输入的:

Scanner scanner = new Scanner(System.in);
int n = scanner next.Int();

 如何进行多组输入:

Scanner scanner = new Scanner(System.in);
while(scanner.hasNextInt()) {
    int n = scanner.nextInt();

}



Scanner in = new Scanner(System.in);
while(in.hasNextInt()) {
    int n = in.nextInt();
}

hasNext 与 hasNextLine 的区别:

String name = scanner.nextLine();//读取一行,包括多个空格
String name = scanner.next();    //遇到空格就读取结束

用完输入后要 close :

scanner.close();

输出的特别的方法:

System.out.println("姓名: "+name);
int a = 10;
System.out.println("a = " + a);// a = 10

int b = 20;
System.out.println("b = " + b);// b = 20

System.out.println("a + b = " + (a + b));// a + b = 30

System.out.println("a + b = " + a + b);// a + b = 1020

System.out.println(a + b+"a + b = ");// 30a+b=

方法部分: 

方法的重载(参数不一样(或返回类型不一样),其他可以一样):

Java 没有类似 C 语言的传址调用,不能实现交换两个数类似的方法

用递归解决汉诺塔问题:

注意用递归解决打印一个数的每位数

用递归打印每一个数的每位数之和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值