java如何给变量名拼接字符_java学习之变量、字符串、输入输出(注意点)

一、变量

定义变量时,java的变量名可以是Unicode中表示字母的字符 和表示数字的字符 但空格 + 等不能 常量 java中,利用关键字final指示常量 final double a =2.2; 一旦赋值后就不能被改变 类常量 在一个类中的多个方法中使用 在类的定义下面

public    static final double a=2.2;

二、数学函数与常量

1、如Math.sqrt() Math.pow(x,a) x的a次幂 pow方法有两个double类型的参数 返回结果也为double 2、foorMod(position+adjustment)%12 调整时针位置 Math.sin cos tan atan atan2 exp log log10  3、java提供了两个用于表示π和e常量的近似值 Math.PI Math.E (在源文件的顶部静态引入 import static java.lang.Math.*;)

三、数值类型之间的转换

1、位数大到位数小的会精度损失 两个数进行运算不进行数值转换到同一种 double–null ->double; float–null ->float long–null ->long 除去上面的情况 两个操作数都是int型 2、强制类型转换 在操作数前 (int)9.8=9; 3、 如果对浮点数进行舍入运算 double x=9.55; int n=(int)Math.round(x); n=10 roud()方法返回的结果是double  如果超出可能发生的事情 byte(300)->44

四、运算符与位运算

如果运算符得到一个值,其类型与左侧操作数的类型不同,就强制类型转换  转换为左侧类型

三元操作符:  condition? expression1:expression2;

位运算符:按位取或 非 异或 左移动 右移动

使用:判断奇偶数  a&1  为0 偶数  为1 奇数

求平均数        (x&y)+((x^y)>>1)

x^y; y^x; x^y;        两数交换

快速乘法    a*(2^n) a<

快速除法    a/(2^n)a>>n

求相反数 (~x+1)

警告:运算符在int上执行

五、枚举

enum Size{Small,Medium,Lagre}; Size s=Size.Small;(待补充)

六、字符串

1、java字符串就是Unicode字符序列  2、子串:substring方法可以从较大字符串提取出一个字串 String a=“Hello” String b=a.substring(0,3); b=“hel”  注意:substring中的索引结束数字不被复制 3、拼接:java语言允许使用+号连接两个字符串  String a=“he”; String b=“llo” System.out.println(a+b+“ss”); 打印出来helloss 4、如果想把多个字符串放在一起,用一个字界符分隔,可以用静态join方法 String all=String.join(“/”,“S”,“M”,“L”“XL”); all=“S/M/L/XL”; 不可变字符串: 5、想要修改字符串:greeting=greeting.substring(0,3)+“p!”; 就可以修改 6、字符串共享 原始字符串和复制的字符串共享相同的字符 都指向在存储池中相应的位置 7、检测字符串是否相等: String s=“hello”; s.squals(“ss”或者一个字符串变量); 如果不区分大小写 用.equalsIgnoreCase(“ss”); 8、不要用==来检测两个字符串是否相等,他们比较的只是位置相同 +或者substring等操作产生的结果不是共享的; java也有 .compareTo(“hello”) 9、空串: 空串是长度为0“” 检查:if(s.length()0)或 if(s.equals(a)) 检查一个串是否为null if(snull) 要检查一个字符串既不是null也不为空串: if(str!=null&&str.length()!=0) 要先检查是否为null,在null值上调用方法会出错,而&&运算会先计算左边,如果左边为假,右边就不会计算,也就不会出错; 10、构建字符串:StringBuilder builder=new StringBuilder(); builder.append(ch); builder.append(str); String compeltedString=builder.toString(); 11、在字符串中插入 insert(位置,插入的字符串/代码单元) 删除 delete(位置,位置) 返回一个字符串 toString

七、码点和代码单元

1、length()方法返回代码单元数量  2、要得到实际长度:codePointCount(0,greeting.length()); 代码单元组成码点,代码单元比码点多 调用S.charAt(n)返回位置n的代码单元 要想得到第i个码点  int index =greeting.offsetByCodePoints(0,i); int cp=greeting.codePointAt(index) 3、 遍历一个字符串,并依次查看每个码点 int cp=sentence.codePointAt(I);  isSupplementaryCodePoint判断是否为补充字符的范围内;补充字符为两个代码单元,那么就+2,如果不是就+1到下一个 IF((Character.isSupplementaryCodePoint(cp)) i+=2; else i++;

4、简单的方法:int[] codePoints=str.codePoints().toArrary(); 它会生成一个int值得流 每个int值对应一个码点 变成一个数组  String str=new String(codePoints,0,codePoints.length);

八、输入输出

1、要想通过控制器进行输入,首先需要构造一个Scanner对象,并与“标准输入流”System.in关联 Scanner in=new Scanner(System.in); String name=in.nextLine(); //输入一行 可以包含空格;  String name=in.next();// 以空白符作为分隔;nextInt//读取下一个整数 nextDouble //浮点数 2、格式化输出: double x=1000/3.0 System.out.printf(x) x=3333.333333333335 System.out.printf("%8.2f",x); 8个字符宽度和小数点后两个字符的精度打印x 打印时间: System.out.printf("%s %tB %

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值