初入Java编程世界

jshell

  • 启动 jshell
  • 停止 /exit
  • 帮助 /help

关于乘法

  • 计算 5 * 5
  • 打印 5 * 5的结果
  • Jshell如何显示错误
  • 练习十次

小练习

  • 计算一天有多少分钟?
  • 计算一天有多少秒?

更多的运算

基本的运算符号:/ > + - 取余运算符: %

  • 1 + 5 * 2
  • 5 % 2
  • 5 / 2

打印输出

System.out.println("欢迎来到Java的世界");

这一段Java代码是什么意思呢?

调用方法

  • 这段代码是一个方法调用。
  • 在上面的代码里
    1. 方法名是什么? System.out.println
    2. 参数是 "欢迎来到Java的世界"

字符串

在Java里双引号里的文本,我们一般叫字符串。主要用来存储一些文本。

小练习

  • 打印 "一句中文"
  • 打印 一天有多少秒?

字符串和表达式

System.out.println("5 * 6");//会报错吗?

System.out.println(5 * 6);//30

任何在双引号里面的都不会计算。

再试试下面的语句

System.out.println(5 + 6);
System.out.println(5 - 6);
System.out.println(5 / 6); // 为什么是0, 以后会讲

打印输出提高

想要打印5 * 1 = 5 然后我们写

System.out.println("5 * 1 = 5");

感觉笨笨的。

下面介绍一个新的方法 printf

//不会换行
System.out.printf("5 * 1 = 5");
//不会打印到控制台
System.out.printf("5 * 1 = 5");
//可以啦
System.out.printf("5 * 1 = 5").println();

那为什么要用printf呢?

System.out.printf("5 * 1 = %d", 5 * 1).println();
System.out.printf("5 * 2 = %d", 5 * 2).println();

动态的打印多个值

System.out.printf("%d %d %d", 1 , 2 , 3 ).println();

System.out.printf("%d * %d = %d", 5 , 6 , 5 * 6 ).println();
System.out.printf("%d * %d = %d", 5 , 7 , 5 * 7 ).println();

小练习

  1. 用printf打印 5 + 6 + 7 = 18

声明变量

System.out.printf("%d * %d = %d", 5 , 6 , 5 * 6 ).println();

一直输入5 6 7 貌似不是很好呀。他只能输入5 6 7.

如何需要可以动态的输出其他的值。那就需要用到变量了。

下面介绍一下变量

变量是允许在程序运行期间修改的变量代表的值。

每一个变量都有 名字 类型 和 值

我之前看到的 - 字符串String - 数值

下面就声明一个变量

// int 是变量的类型, i是变量的名字, 0 是变量的值
int i = 0;

其实Java里面有八种内置的基本类型。上面只是提到了Int。

  • byte b = 5; //8 bits - 128 to 127
  • short s = 128; //16 bits - 32,768 to 32,767
  • int i = 40000; //32 bits - 2,147,483,648 to 2,147,483,647
  • long l = 222222222; //64 bits -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
  • float f = 4.0f; //32 bits 不精确 - 不要用在金融相关的 注意有个F
  • double d = 67.0; //64 bits不精确 - 不要用在金融相关的
  • char c = 'A'; //16 bits \u0000 to \uffff
  • boolean isTrue = false; //true or false

小练习

  1. 声明两个整数变量,一个是等于10, 一个等于12.
  2. 声明两个字符串类型的变量,一个是 "今天的天气“, 另一个是 "明天的天气“

变量运算

既然我们可以使用声明变量,那么我们就可以使用变量来进行计算了。

比如

int a = 10;
int b = 2;

a * b;
b * 2 * b;

小练习

  1. 声明三个变量分别是5,6, 7 并计算他们的和并打印输出(使用printf的形式)

变量命名

Java里对变量名其实是有一些规则的,我们不能随便的命名。

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始

  • 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合

  • 关键字不能用(Static, int)

  • 大小写敏感(a 和A不是同一个)

    下面是一些正确的例子

    age、$salary、_value、__1_value
    

    错误的的例子

    123abc、-salary
    

基本的IF语句

Java判断运算符 > < >= <= ==

下面简单的说一下If的语法

// if的语法
if(布尔表达式)
{
   //如果布尔表达式为true将执行的语句
}

// if...else的语法
if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}

// if...else if...if 
if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}

下面是一个简单的实例

int a = 1;
int b = 2;
if(a >= b){
    System.out.println("a greater than b  a= %d", a);
} else {
	System.out.println("b = %d", a);
}

简单的FOR循环

到了现在,我们是不是可以实现开始时候本周的挑战了,只是需要写十行。

那么同样的操作执行多次,我们该怎么办呢,下面就将一下For循环。

for(初始化; 布尔表达式; 更新) {
    //代码语句
}

下面是一些说明:

  • 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
  • 然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
  • 执行一次循环后,更新循环控制变量。
  • 再次检测布尔表达式。循环执行上面的过程。

下面我们写一个

for(int i = 0; i < 10; i++){
   System.out.println("i = " + i);
}

小练习

  1. 使用For循环和上面学的知识,打印下面的内容。

    5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50

  2. 打印乘法口诀表。