青春喂了后端
参考网站Markdown语法。
JAVA·醉翁之意不在酒
1.HelloWorld.java
public class HelloWorld { //创建类 “HelloWorld”需要与文件名一致
public static void main(String[] args) { //方法
System.out.println("Hello World"); //sout
}
}
使用cmd运行:(需要在该文件目录中)
$ javac HelloWorld.java
$ java HelloWorld
Hello World
2.变量
int a, b, c; // 声明三个int型整数:a、 b、c
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
byte z = 22; // 声明并初始化 z
String s = "runoob"; // 声明并初始化字符串 s
double pi = 3.14159; // 声明了双精度浮点型变量 pi
char x = 'x'; // 声明变量 x 的值是字符 'x'。
3.输入输出
public class Main {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in); //存在"import java.util.Scanner"语句;new一个对象sca
while (sca.hasNext()){ //判断是否有输入
int i = sca.nextInt(); //输入整型
double d = sca.nextDouble(); //输入浮点数
String str = sca.next(); //输入字符串
String str2 = sca.neatLine(); //输入一行字符串
}
System.out.println(age);
}
}
4.循环结构
跟c++不能说是一模一样,只能说是没有区别
for
for(int i = 0; i < 10; i++){
System.out.println(i);
}
while
int i = 0;
while(i < 10){
System.out.println(i);
i++;
}
do while
int i = 0;
do{
System.out.println(i);
i++;
}while(i < 0);
5.分支结构
跟c++不能说是没有区别,只能说是一模一样
if
public class Main {
public static void main(String args[]){
Scanner sca = new Scanner(System.in);
int x = sca.nextInt();
if( x < 20 ){
System.out.print("这是 if 语句");
}
else if( x = 20 ){
System.out.print("这是 else if 语句");
}
else{
System.out.print("这是 else 语句");
}
}
}
swich
char grade = 'C';
switch(grade)
{
case 'A' :
System.out.println("优秀");
break;
case 'B' :
case 'C' :
System.out.println("良好");
break;
case 'D' :
System.out.println("及格");
break;
case 'F' :
System.out.println("你需要再努力努力");
break;
default :
System.out.println("未知等级");
}
System.out.println("你的等级是 " + grade);
输出 :
良好 你的等级是 C
假如没有break,则会输出符合条件的以下的所有case,直到出现break
public class Test {
public static void main(String args[]){
int i = 1;
switch(i){
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
default:
System.out.println("default");
}
}
}
输出:
1 2 default
6.数组
创建数组
数组是一种对象(但是在cpp里似乎属于变量)
以下是建议使用的方法
public class TestArray {
public static void main(String[] args) {
int size = 4; //数组大小
double[] myList = new double[size]; //定义数组
//也可以 double myList[] 但是不建议
myList[0] = 5.6;
myList[1] = 4.5;
myList[2] = 3.3;
myList[3] = 13.2;
}
}
遍历数组
// 打印所有数组元素
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i]);
}
// 计算所有元素的总和
double total = 0;
for (int i = 0; i < myList.length; i++) {
total += myList[i];
}
System.out.println("Total is " + total);
// 查找最大元素
double max = myList[0];
for (int i = 1; i < myList.length; i++) {
if (myList[i] > max) max = myList[i];
}
System.out.println("Max is " + max);
For-Each 循环
JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。语法格式如下:
// 打印所有数组元素
for (double element: myList) {
System.out.println(element);
}
7.Math 类
//三角函数全用弧度制
System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));
System.out.println("0度的余弦值:" + Math.cos(0));
System.out.println("60度的正切值:" + Math.tan(Math.PI/3));
System.out.println("1的反正切值: " + Math.atan(1)); //反函数,其他三角函数前加‘a'同理
System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2)); //弧度转角度 同理 toRadiant()
System.out.println(Math.PI); //3.141592653589793
方法 | 含义 |
---|---|
n.???Value() |
将 Number 对象转换为xxx数据类型的值并返回(数字间的相互转换) |
n.compareTo(m) |
将number对象与参数比较,n>m返回1,n<m返回-1,n=m返回0 |
n.toString() |
变成字符串 |
Math.abs(n) |
绝对值 |
Math.ceil(n) |
向上取整,返回类型为double |
Math.floor(n) |
向下取整,返回类型为double |
Math.rint(n) |
四舍六入五成双 |
Math.round(n) |
四舍五入,等价于Math.floor(x+0.5) |
Math.min(n,m) Math.max(n,m) |
略 |
Math.exp(n) |
$e^n$ |
Math.log(n) |
ln(n) |
Math.pow(n,m) |
$n^m$ |
Math.sqrt |
平方根 |
Math.random() |
[0,1)随机数 |
8.Character 类
方法 | 含义 |
---|---|
Character.isLetter(ch) |
是否是个字母(返回bool) |
Character.isDigit(ch) |
是否是个数字字符(返回bool) |
Character.toUpperCase(ch) |
转大写 |
Character.toLowerCase(ch) |
转小写 |
Character.toString(ch) |
返回字符的字符串形式,字符串的长度仅为1 |
9.String 类
10.方法
没怎么搞懂,就不乱记录了
JAVA·沉舟侧畔千帆过
1.关于数组创建
众所周知,java中数组属于对象
可以注意到,其中的第四种方法并没有使用 new
来创建这个对象:
int [] nums = {1,2,3,4,.....}
这是某学长给的理解
某学长:
> 这个的话,我我可以给你讲一下,就是关于我理解,
>
> 然后具体的具体的内容的话,我觉得你可以适当的问一下老师,> 就比如说你要开辟一个对象,然后你new,它是为了开辟一段儿空间,
> 然后对于这个你你这个数组为什么没有new呢?
>
> 是因为你把数组里的每一个元素啊,你都给它写出来了,> 然后你写的这个过程就相当于是已经把空间开辟出来了,
>
> 所以你要是这么写的话,是没有六是可以的。> 我的话认为就是数组这种写法的话,你记一下就可以了,然后如果你实在想理解理解他为什么可以这么写的话,
>
> 我觉得你可以问一下老师啊,我觉得可以。
然后也因为字符串其实也可以被理解为一种数组,所以同理啦