java数据类型 变量,运算符,字符串,输入输出,数组,大数值

xiaoxiao2021-02-28  78

java规定

整型: byte 1字节 short 2字节 int 4字节 long 8字节

浮点: float 4字节 取值范围 约+-3.040282347E+38F double 8字节 约+-1.79769313486231570E+308 十六进制也可以表示浮点数,指数的基数为2,0x1.0p-3=1.0*16^0*2^(-3),不强调类型的浮点数 默认为double类型 浮点2-1.1=0.89999999999..,二进制无法准确分辨1/10. 特殊的浮点数值型,表示内存溢出和出错情况 正无穷大 Double.POSITIVE_INFINITY 负无穷大 Double.NEGATIVE_INFINITY NaN (不是一个数字) Double.NaN

char: \u可以出现在加引号的字符常量或字符串之外(其他转义字符都不可以) 如public static void main ( String \u005B \u005D args ) Unicode转义字符序列会在解析代码之前得到处理,Unicode有65536个字符 java中,char描述了UTF-16编码中的一个代码单元,即16位。 建议不要使用char类型,除非需要处理UTF-16的代码单元,最好用字符串替代。

boolean: 只有true和flase,不可以用0或1代替。

变量: 变量名可以是某语言中表示字母的任何Unicode编码字符和表示数字的任何字符 变量必须声明+初始化才能使用 final指示常量,表示声明的这个表量只能被赋值一次

运算符: + - * / %,整数的求余(取模) 整数除以0是异常,浮点数除以0是无穷大或NaN /两边是整数表示整数除法,否则属于浮点除法 strictfp关键字标记的方法严格使用浮点计算方法(public static strictfp void main(String[] args)) Math类中 ,添加包 import static java.lang.Math. * ; sprt()求平方根。 pow(x,y),参数为double类型,返回值也是double,表示x的y次方。 floorMod,调整时间位置,floorMod(position当前位置–+adjustment调整的小时数,12); Math.sin //常用的三角函数 Math.cos Math.tan Math.atan Math.atan2 Math.exp //指数函数及反函数 Math.log Math.log10 Math.PI /π和e的常量值 Math.E 如果需要完全可预测的结果,即在各平台都得到同样结果,使用StrictMath类,运行速度会稍慢 建议不要使用++

数值转换 大整数转换为float会有精度损失,比如123456789,可能会转为1.23456792e8 int转double无损失,long可能会有

位运算符

字符串 java字符串就是Unicode字符序列,Strin g在java的标准库中,而不是内置。 任何一个java 对象都可以转换为字符串。 java不支持修改字符安传中的字符,而是String放到一个共享内存中,其他操作可以调用。 比较两个字符串大小 str1.equals(str2)或类似于c语言的strcmp : str1.compareTo(str2)==0 不区分大小写比较 str1.equalsIgonreCase(str2) 字符串代码单元长度str.length() 实际长度(码点数量)str.codePointCount(0,str1.length) CharSequence 类型参数,是一种接口类型,所有字符串都属于这个接口 构件拼接字符串 StringBuilder builder=new StringBuilder(); builder.append(str1); builder.append(str2); String s=builder.tostring();

输入输出 输入:;//构造Scanner对象,并与标准输入流System.in关联,需要import java.util.*; Scanner scanner=new Scanner(System.in); String s=scanner.nextline();//可以读入空格 String s=scanner.next(); //不能读入空格 输出:System.out,println(x); System.out.printf(“%8.2f”,x); //printf按照c标准使用方法 %d 十进制159 %o 八进制 567 %x 十六进制 9f %f 定点浮点数 1.1230000000 %e 指数浮点数 1.23e10 %a 十六进制浮点数 %% 表示% 输出时间 %tc/%tF……..New Date(); System.out,printf(“%tF”,new Date());

文件输入与输出 读出:Scanner in=new Scanner(Path.get(” “),”UTF-8”); while(in.hasNextLine()){ System.out.println(in.nextLine()); } 写入:PrintWriter out=new PrintWriter(“test.txt”,”UTF-8”); out.print(str1); out.close();

大数值 java.math包含 BigInteger 实现任意精度整数运算 BIgDecimal 实现人已经度浮点数运算 // 大数值计算必须用 add(+) substract (-) multiply(*) divide(/) BigInteger a=BigInteger.valurOf(100) ; //把普通数转为大数 BigInteger c=a.add(b);//c=a+b; BigInteger d=c.multiply(b.add(BigInteger.valueOf(2)));// c=c*(b+2)

数组 int [] a = new int [100] ; int []a=new int [ ] {1,2,3,4,5}; int [][] a={{1,2,3},{4,5,6},{7,8,9}} int[][] a=new int [10][10]; 数字数组的初始值全为0 boolean 初始为false 对象(含String)数组初始化为null 数组长度 a.length; main(String [] args)中的字符串数组接收的是命令行参数 数组排序 Array.sort(a); //默认小到大排序,降序自己转其他数组。 Math.random()返回随机返回 0-1 之间的浮点数。 int a=(int)(Math.random()*n);//返回0-n的随机数

转载请注明原文地址: https://www.6miu.com/read-80495.html

最新回复(0)