软件园学生在线

  • {{ item.name }}
  • 2023试用期

登录与注册

后端0 林星宇

  • Nick
  • 2023-10-15
  • 0

青春喂了后端

参考网站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呢?
>
> 是因为你把数组里的每一个元素啊,你都给它写出来了,

> 然后你写的这个过程就相当于是已经把空间开辟出来了,
>
> 所以你要是这么写的话,是没有六是可以的。

> 我的话认为就是数组这种写法的话,你记一下就可以了,然后如果你实在想理解理解他为什么可以这么写的话,
>
> 我觉得你可以问一下老师啊,我觉得可以。

然后也因为字符串其实也可以被理解为一种数组,所以同理啦

Nick
Nick
© 2025 软件园学生在线
Theme by Wing