(Datawhale)Java Task02:初识Java语言基础

Java程序的基本结构

//java程序结构
package test;  //定义包,必须是小写字母,多个单词用.隔开
import java.util.Scanner;  //java API 一定在当前库中存在

public class Test {  //创建类,类名习惯首字母大写
	//System.out.println();//编译错误
	public static void main(String[] args) {  //定义主方法
		Scanner console = new Scanner(System.in);
	}
}  //类体 class body


//编译错误:java编译器在将java源代码编译为class文件的过程出现的错误,一般是语法使用错误!当有编译错误时候,是没有class文件产生,也就不能运行程序。
  • package语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包,package 顶层包名.子包名
  • 为使用定义在不同包中的java类,需用import语句来引入指定包层次下所需要的类或全部类(.*);
  • 关键字public被称为修饰符*(access modifier)*,用于控制程序的其他部分对这段代码的访问级别;
  • 源代码的文件名强烈建议与类名相同;
  • static是静态修饰符,被标识的方法是静态的方法;
  • void用于表示该方法不需要返回值;
  • Java入口程序规定的方法必须是静态方法,必须声明为public,方法名必须为main,括号内的参数必须是String数组。

运算符和表达式

算数运算符说明
*乘×
/除÷
%取余数

注意,整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大或NaN的结果

数学函数与常量

  • 求平方根:Math.sqrt(x)
  • x的a次幂( x a x^a xa):Math.pow(x, a)
  • 三角函数:Math.sin、Math.cos、Math.tan、Math.atan、Math.atan2
  • 指数函数:Math.exp
  • 自然对数:Math.log
  • 以10为底的对数:Math.log10
  • π \pi π常量的近似值:Math.PI
  • e e e常量的近似值:Math.E

如果不想再数学方法名和常量名前添加前缀"Math",只需要在源文件的顶部添加代码:

import static java.lang.Math.*;
// static import静态导入导入的是静态成员,而import导入的是类或接口类型

结合赋值和运算符

x += 4;
//等价于
x = x + 4;

(一般地,将运算符放在=号的左边,如*=或%=)

自增与自减运算符

  • 自增、自减运算符:n++将变量n的当前值加1,n–将n的值减1。
  • 这些运算符只会改变变量的值,它们的操作数不能是数值。例如:4++是个非法语句。
int m = 7;
int n = 7;
int a = 2 * ++m; // a=16,m=8
int b = 2 * n--; // b=14,n=8

关系和boolean运算符

  • 要检测相等性可以使用两个等号==
  • 检测不相等就使用!=
  • 感叹号!就是逻辑运算符,运算符&&表示逻辑**“与“运算符,运算符||表示逻辑”或“**运算符;
  • 三目运算符x?y:z,当x返回结果为true时就返回y,当x返回结果为false时就返回z。

位运算符

处理整数类型时,可以直接对组成整型数值的各个位完成操作。位运算符包括:&(“and”)、|(“or”)、^(“xor”)、~(“not”)。另外还有>><<运算符将位模型左移或右移。

括号与运算符级别

结合性运算符
从左往右()括号
从右往左! ~ ++ – + 一元运算 - 一元运算 ()强制类型转换 new
从左往右* / %
从左往右+ -
从左往右<< >> >>>
从左往右< <= > >=
从左往右== !=
从左往右&
从左往右^
从左往右|
从左往右&&
从左往右||
从右往左?:
从右往左= += -= *= /= %= &= |= ^= <<= >>= >>>=

控制流程

条件语句

  • if (condition) statement ;

    if(yourSales >= target)
    {
     performance = "Satisfactory";
     bonus = 100;
    }
    
  • if (condition) statement1 else statement2

     if(yourSales >= target)
     {
    	performance = "Satisfactory";
    	bonus = 100;
     }else{
    	performance = "Unsatisfactory";
    	bonus = 0;
     }
    

循环语句

while循环语句

  • while (condition) statement;

    while(balance < goal){
    	balance += payment;
    	years++;
    }
    System.out.println(years + "years.");
    
  • do statement while (condition)

    do{
    	balance += payment;
    	years++;
    }while(balance < goal)
    

for循环语句

  • for循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代次数。

    // 将数字1~10输出到屏幕上for (int i = 1; i <= 10; i++){  //i只能作用域这块作用域	System.out.println(i);}
    
    • 如果想要在for循环体外使用循环计数器的最终值,就要确保这个变量在循环体语句前被声明。

      int i;for(i = 1;i <= 10;i++){    ...}//i在for块作用域外也能用
      

中断控制流程语句

  • break语句用于退出循环;

    while(years <= 100){
        balance += payment;
        if(balance >= goal) break;
        years++;
    }
    
  • continue语句中断正常的控制流程,语句将控制转移到最内层循环的首部。

    while(sum < goal){
        n = in.nextInt();
        if(n < 0) continue;
        sum += n;
    }
    

多重选择:switch语句

  • switch语句用于处理多个选项时,代替若干笨拙的if-else结构。switch语句将从与选项值相匹配的case标签处开始执行,直到遇到break语句,或执行到switch语句的结束处为止。
switch(choice)
{
    case 1:
        ...;
        break;
    case 2:
        ...;
        break;
    case 3:
        ...;
        break;
    case 4:
        ...;
        break;
    default:
        ...;
        break;
}

参考资料

  1. DataWhale Java组队学习
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值