标签:指定 rgs 抽象 cti 精确 表达 冒号 存储 操作
public class FirstSample
{
public static void main(String[] args)
{
System.out.println("We will not use ‘Hello,World!‘");
}
}
public:访问修饰符(access modifier),用于控制程序的其他部分对这段代码的访问级别
class:表明程序中的全部内容都包含在类中
FirstSample:类名
命名规则:必须以字母开头,后面可以是字母数字的组合,但不能使用Java保留字
命名规范:类名为以大写字母开头的单词,如果由多个单词组成,则每个单词第一个字母大写
源代码文件名必须与公共类的名字相同,并用.java作为拓展名
Java区分大小写,main如果写成Main则错误
三种方式
//
/*
和*/
括起来,不能嵌套/**
开始,*/
结束一共8种数据类型:4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char
注意:Java中没有无符号数
后缀F或f:float类型
后缀D或d:double类型
无后缀:double类型
三个特殊的浮点数值:正无穷、负无穷、NaN(不是一个数字)
检测:
if(Double.isNaN(x))
Java中整数与布尔值之间不能相互转换,区别于C!!!
例:
if(x=0)
在Java中会报错!!
变量名必须是以字母开头并由字母或数字构成的序列,不能出现空格
用关键字final
指示常量,且只能被赋值一次
static final
表示类常量,在该类的所有方法中可用public static final
表示其他类的方法也可使用该常量/
操作的两个操作数都是整数时,表示整数除法,否则,表示浮点除法两个数值进行二元操作时,先要将两个操作数转换成同一种类型,然后计算
图中实心箭头表示无精度丢失的转换,虚箭头表示可能有精度丢失
double转int:截断小数部分
double转int(舍入):
double x=9.97;
int nx=(int)Math.round(x);//round返回long类型
&&
和||
按照短路方式来求值的:如果第一个操作数已经能确定表达式的值,第二个操作数就不必计算了从概念上讲,Java字符串就是Unicode字符序列。Java中没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类String
String类的substring方法:从一个较大的字符串中提取出一个子串
String greeting = "Hello";
String s = greeting.substring(0,3);
使用+
拼接两个字符串
当将一个字符串与一个非字符串的值进行拼接时,后者被转换成字符串
常用于输出System.out.println("The answer is "+answer);
Java中的String类称为不可变字符串
char*
指针s.equals(t)
:若相等,则返回true,否则返回false,s和t可以是字符串变量,也可以是字符串字面量s.equalsIgnore(t)
:忽略大小写码点:一个字符所占的空间,如一个UTF-16字符即为一个码点
int cpCount = str.codePointCount(0,str.length());
返回码点数量(实际长度)
得到第i个码点:
int index = str.offsetByCodePoints(0,i);
int cp = str.codePointAt(index);
代码单元:char类型是一个采用UTF-16编码表示Unicode码点的代码单元
int n = str.length();
返回代码单元的数量
char first = str.charAt(0);
返回某个位置的代码单元
常用API:
先构造一个空的字符串构建器
StringBuilder builder = new StringBuiler();
每当需要添加内容时,就调用append方法
builder.append(ch);//添加一个char类型代码单元
builder.append(str);//添加一个字符串
需要构建字符串时调用toString方法,得到一个String对象
String completedString = builder.toString();
构建一个Scanner对象,并与”标准输入流“System.in关联
Scanner in = new Scanner(System.in);
用Scanner对象实现输入操作
String namee = in.nextLine();//读取输入的一行,包括空格
String firstName = in.next();//读取一个单词(以空白符为分隔符)
int age = in.nextInt();//读取一个整数
一定要在开头添加:
import java.util.*;
用System.out.printf();
来实现格式化输出,同c语言中的printf用法
注意:在循环中检测两个浮点数是否相等需要格外小心
for (double x=0;x!=10;x+=0.1);
该循环永远不会结束,因为0.1无法用二进制精确表示
Java中支持带标签的break语句,标签必须放在希望跳出的最外层循环之前,并且紧跟一个冒号,注意只能跳出语句块,不能跳入
BigInteger类:实现任意精度的整数运算
BigInteger a = BigInteger.valueOf(100);//将普通数值转换成大数值
BigInteger c = a.add(b);//c=a+b;
BigInteger d = c.mutiply(b.add(BigInteger.valueOf(2)));//d=c*(b+2);
BigDecimal类:实现任意精度的浮点运算
声明数组变量时,需要指出数组类型(数组元素类型紧跟)和数组变量的名字,然后用new创建数组
int[] a = new int[100];
要想获取数组中元素个数,使用a.length
for(int i=0;i<a.length;i++)
创建一个数字数组时,所有元素初始化为0,boolean数组初始化为false,对象数组初始化为null
一旦创建了数组就不能改变其大小了
可以用来依次处理数组中的每个元素,而不必为指定下标值而分心
格式
for(elementType x : collection) statment
定义了一个变量x暂存集合中每一个元素,并执行相应的语句
其中colletion必须是一个数组或是一个实现了Iterable接口的类对象
int[] a = {1,2,3,4,5};//创建数组对象并赋予初始值,不需要调用new
a = new int[]{2,3,4,5,6,7,8};//创建一个匿名数组给原数组重新赋值
public Message{
public static void main(String[] args){
}
}
如果用下面的形式运行该程序
java Message -g cruel world
则
args[0] : "-g"
args[1] : "cruel"
args[2] : "world"
其中程序名并不存储在args数组中
声明多维数组
int[][] a;
a = new int[10][10];
二维数组遍历
//双重for循环
for(int i=0;i<a.length;i++)
for(int j=0;j<a[i].length;j++)
//双重for each循环
for(int[] row:a)
for(int value:row)
二维数组相当于是一维数组指针的数组,其中的一维数组指针相互独立,可以自由确定其大小
如下图所示:
标签:指定 rgs 抽象 cti 精确 表达 冒号 存储 操作
原文地址:https://www.cnblogs.com/xkf97/p/12673352.html