java核心I卷(3/14)Java 的基本程序设计结构

盖章主要讲了注释,数据类型,变量,运算符,字符串,输入输出,控制流程,大数值,数组

3.2注释:

在java代码编译时注释并不会编译到程序中,不会影响程序的效率,因此可以任意的注释

 

3.3数据类型

1)类型标记:

长整型后缀L:400000000L

十六进制前缀0x或者0X,如0xCAFE

八进制前缀0,如010=8

二进制前缀0b或者0B如0b1001就是9

同样,java7以后,为方便阅读,可以写1_000_000表示一百万,java编译器会自动去除“_”

2)float和double

小数默认为double型,后面加F才能表示float型,float很少用,只适用于单精度数据库或需要存储大量数据

3)char

char 类型原本用于表示单个字符不过现在情况已经有所变化如今有些 Unicode

字符可以用一个 char

值描述另外一些 Unicode 字符则需要两个 char

注意的是:\u转义序列在编译时会通过编译器转换,甚至在注释中也会转换,如果格式不正确,则会报转换错误异常

警告: Unicode 转义序列会在解析代码之前得到处理。 例如,"\u0022+\u0022 ” 并不是一

个由引号(U+0022) 包围加号构成的字符串。 实际上, \u0022 会在解析之前转换为 ", 这

会 得 到 也 就 是 一 个 空 串。

更隐秘地, 一定要当心注释中的 \u。注释

// \u00A0 is a newline

会产生一个语法错误, 因为读程序时 \u00A0 会替换为一个换行符类似地,下面这

个注释

// Look inside c:\users

也会产生一个语法错误, 因为 \u 后面并未跟着 4 个十六进制数

补充:

JAVA中的char类型

1、JAVA中,char占2字节,16位。可在存放汉字

2、char赋值

char a='a';  //任意单个字符,加单引号。

char a='中';//任意单个中文字,加单引号。

char a=111;//整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符。

注:只能放单个字符。 

 

3、char运算

char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值。

在JAVA中,对char类型字符运行时,直接当做ASCII表对应的整数来对待。

示例:

char m='a';  ——a。

char m='a'+'b';  ——Ã。  //char类型相加,提升为int类型,输出对应的字符。注,在CMD.exe用输出结果是问题?,不同的编码输出显示不一样。Eclipse中须改成UTF-8。

int m='a'+'b';   ——195。//195没有超出int范围,直接输出195。

char m='a'+b;  ——报错。//因为b是一个赋值的变量。

char m=197;  ——Ã。 //输出字符编码表中对应的字符。

char m='197;  ——报错。//因为有单引号,表示是字符,只允许放单个字符。

char m='a'+1;  ——b。//提升为int,计算结果98对应的字符是b。

char m='中'+'国';  ——42282。

char m='中'+'国'+'国'+'国';  ——报错。int转char有损失。因为结果已经超出char类型的范围。

int m='中'+'国'+'国'+'国';  ——86820

char m='中'+1;  ——丮。//1是int,结果提升为int,输出对应的字符。

char m='中'+"国";  ——报错。String无法转换为char。

System.out.println('中'+"国");  ——中国。//没有变量附值的过程。String与任何字符用“+”相连,转换为String。

总结:

用单引号''标识,只能放单个字符。

char+char,char+int——类型均提升为int,附值char变量后,输出字符编码表中对应的字符。

3.4变量

1)变量没什么好说的额,注意不要连续的初始化,虽然合法,但是可读性不高,反例:

int i , j// both are integers

2)变量申明放在任何地方都合法,但是尽量放在第一次使用的地方、

3)final修饰的变量:只能被初始化一次;

4)final+static的变量:叫类变量,又叫常量,必须大写,且申明的同时必须被初始化

常量如果要被其它类访问,需要添加public修饰

3.5运算符

3.5.2数值类型间的转换

见下图,6条实线,3条虚线,实线表示转换精度不丢失,虚线反之

3.5.3强制转换

逆向箭头转换,会有精度丢失,当目标范围不够显示,会将原数据截断一部分,变成另外一个数

例如

double x * 9.997;

int nx = (int) x;

这样变量 nx 的值为 9

3.5.4结合赋值和运算符

一般地要把运算符放在 = 号左边*= =

注释如果运算符得到一个值其类型与左侧操作数的类型不同就会发生强制类型转换。

例如如果 X 是一个 int, 则以下语句

x += 3.5;

是合法的将把 X 设置为int)(x + 3.5)

3.5.5自增自减

--x,++x;x--,x++

实际上这些运算符有两种形式上面介绍的是运算符放在操作数后面的后缀形式

还有一种前缀形式++n后缀和前缀形式都会使变量值加 1 或减 1但用在表达式中时

二者就有区别了前缀形式会先完成加 1; 而后缀形式会使用变量原来的值

建议不要在表达式中使用 ++, 因为这样的代码很容易让人闲惑而且会带来烦人的 bug

3.5.6位运算符?????????????这个真心看不懂,需要单独找视频来看看

3.6z字符串

3.6.2拼接

String all = String.join(//将/放置在多个字符串中间
				" / ", "S", "M",
				"L", "XL"
				);
		System.out.println(all);

//打印信息
S / M / L / XL

3.7输入输出

import java.io.IOException;
import java.nio.file.Paths;
import java.util.Scanner;

public class Test {//测试读取文件,还有更好的方法
	final static Integer A=1;
	public static void main(String[] args) {
//		C:\Users\Administrator\Desktop
		String path ="C:\\Users\\Administrator\\Desktop";
		try {
		Scanner in= new Scanner(Paths.get(path+"\\bookOrder.txt"),"utf-8");//后面参数可以不要,会默认系统编码
		while(in.hasNextLine()) {
			String str=in.nextLine();
			System.out.println(str);
		}
		in.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

3.8流程控制

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值