public class Main{
public static void main(String[] args){
int num[] = {73,32,99,97,110,32,100,111,32,105,116,33};
for(int i=0;i<12;i++){
System.out.print((char)num[i]);
}
}
}
字符和ASCII码相互转换可以用(int)c;(char)i强制转化
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
String str = in.next();
System.out.println("year="+str.substring(0,4));
System.out.println("month="+str.substring(4,6));
System.out.println("date="+str.substring(6,8));
}
}
substring() 方法返回字符串的子字符串。
语法:public String substring(int beginIndex)或public String substring(int beginIndex, int endIndex)
参数:beginIndex – 起始索引(包括), 索引从 0 开始。endIndex – 结束索引(不包括)。
返回值:子字符串。
另外:str.toCharArray() 将String对象的每一个下标位的对象保存在char[]中
import java.util.Scanner;
import java.text.DecimalFormat;
import java.lang.Math;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
int c = in.nextInt();
int length = (a+b+c);
double p = (double)length/2;
double temp = p*(p-a)*(p-b)*(p-c);
double area = Math.sqrt(temp);
System.out.printf("circumference="+new DecimalFormat("0.00").format(length)+" area="+new DecimalFormat("0.00").format(area));
}
}
三角形已知三边面积公式:S=√[p(p-a)(p-b)(p-c)] 公式里的p为半周长
java中实现开根号运算的函数:Math.sqrt(n)
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
int n = in.nextInt();
int result = 1 << n;
System.out.println(result);
}
}
}
java中有三种移位运算符
<< : 左移运算符,num << 1,相当于num乘以2
>> : 右移运算符,num >> 1,相当于num除以2
>>> : 无符号右移,忽略符号位,空位都以0补齐
形式:value op num,num 指定要移位值,op运算符,value 移动的位数
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
double a,b;
String str;
while(in.hasNext()){
str = in.nextLine();
String[] s = str.split("[^(0-9|.)]");
a = Double.parseDouble(s[0]);
b = Double.parseDouble(s[1]);
if(str.indexOf("+")!=-1){
System.out.printf("%.4f"+"+"+"%.4f=%.4f",a,b,a+b);
System.out.println("");
}
else if(str.indexOf("-")!=-1){
System.out.printf("%.4f"+"-"+"%.4f=%.4f",a,b,a-b);
System.out.println("");
}
else if(str.indexOf("*")!=-1){
System.out.printf("%.4f"+"*"+"%.4f=%.4f",a,b,a*b);
System.out.println("");
}
else if(str.indexOf("/")!=-1){
if(b==0) System.out.println("Wrong!Division by zero!");
else{
System.out.printf("%.4f"+"/"+"%.4f=%.4f",a,b,a/b);
System.out.println("");
}
}
else System.out.println("Invalid operation!");
}
}
}
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
System.out.println((a>b)?"A":"B");
}
}
条件运算符:优先级高于赋值、逗号运算符,低于其他运算符。
形式:关系表达式 ? 表达式1 : 表达式2
求值规则:求解关系表达式,根据关系表达式的布尔值决定取值:关系表达式的值为true时取表达式1的值;关系表达式的值为false时取表达式2的值。
右结合性:当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。如果在问号和冒号之间还有一个问号或者冒号,应该满足就近配对,使结构不发生紊乱。