【java】基础入门(一)

本文介绍了Java编程的基础知识,包括如何使用HelloWorld程序展示编程能力,Java的运行机制,编译过程,注释的使用,标识符规则,关键字,数据类型及其转换,常量与变量的概念,算术和逻辑运算,流程控制结构(如if、else、switch和循环),以及如何利用Scanner获取用户输入。
摘要由CSDN通过智能技术生成

基础语法

别人问我:你编程能力是什么级别,那肯定是“hello,world”级别,别问为什么,问就是只会“hello,world”。

让我们看一下java输出“hello,world”的方法。

hello,world

public class HelloWorld {
  public static void main(String[] args){
     System.out.print("hello,world");
  }
}

此文件应为HelloWord.java

注意:

以public修饰的类的类名必须为文件的文件名。

以上为例,public class HelloWorld中类(class)HelloWord是被public修饰,因此文件名必须为HelloWorld.java.(如果你不理解修饰是什么意思,在此不必过多纠结)

Java的运行机制

Java为什么能够受欢迎?在我问这个问题的时候,你应该就能察觉到,受欢迎的原因之一应该和Java的运行机制有关。

java文件的编译过程:

程序员编写 xxx.java 文件

javac 编译为字节码文件 xxx.class,

JVM 编译成电脑所熟知的0,1组合

 不同的系统可以装不同的JVM,Windows安装Windows版本的JVM、Mac安装Mac版本的JVM,实现同一段代码在不同的操作系统也能上运行。

基础语法

注释

注释:字面意思,就好比看文章,在文章旁添加注释,不影响原文内容,只为方便后续自己再次或他人阅读时容易理解。

注释要勤加,但不要乱加!

// 两条斜杠 的注释为单行注释,只管一行

/*
    以  斜杠+星  开始
    星+斜杠  结束的注释为多行注释
    在此范围内的所有内容均为注释
*/

/**
 *  以 斜杠+双星  开始
 *  星+斜杠  结束的注释为文档注释
*/

标识符

标识符是干什么用的。

从日常生活来看,标识符就是名字,好比说张某某,李某某,喊到哪个名字,你大脑中就应该会有这个人的相貌,身高等,这个名字就可以看作标识符。

在Java当中,常量、变量、函数、类等都需要一个名字,这些名字统称标识符。

标识符由字母、数字、_(下划线)、$组成

不能以数字开头

不能用Java中的保留字

标识符大小写敏感

如:

a和A是两个不一样的标识符。

 关键字

亦称保留字

关键字在程序中有其特殊意义,如public,class等53个此类文字字符,在此先不做过多阐述。

数据类型

Java有八种基本数据类型,它们分别是:

byte、short、int、long、float、double、boolean和char

 其中

整型      :byte、short、int、long

字符型  :char

浮点型  :float、double

布尔型  :boolean

 整形

byte

min:-128(-2^7)

max:127(2^7-1)

默认值:0

short

min:-32768(-2^15)

max:32767(2^15-1)

默认值:0

int 

min:-2,147,483,648(-2^31)

max:2,147,483,647(2^31-1)

默认值:0

long

min:-9,233,372,036,854,775,808(-2^63)

max:9,223,372,036,854,775,807(2^63-1)

默认值:0

浮点型 

浮点数的默认类型为double类型

float

单精度  32位

默认值:0.0f

double

双精度  64位

默认值:0.0d

字符型

char

char类型是一个单一的16位Unicode字符。

min:\u0000(0)

max:\uFFFF(65,535)

布尔型

boolean
取值:true / false

默认值:false

数据类型的转换 

byte、short、int、long、float、double

从左到右可自动转换,从右向左需要强制转换

可以想象一下

byte相当于100ml的水杯,short相当于200ml的水杯

byte水杯里的水倒入short水杯里自然没有问题

但从short水杯里将水倒入byte水杯里则有可能发生溢出

 那么我应该如何将short水杯里的水倒入byte水杯里呢

强制转换

    short a = 100;
//short -> byte
    byte b = (byte) a;
    int a = 100;
//int -> short
    short b = (short) a;
//int -> byte
    byte c = (byte) a;

省略几行

    double a = 100;
//double -> float
    float b = (float) a;
//double -> long
    long c = (long) a;
//double -> int
    int d = (int) a;
//double -> short
    short e = (short) a;
//double -> byte
    byte f = (byte) a;

常量、变量 

变量如其名,就是可以改变的量,那与之相对的常量就是不可改变的量。

常量是指在程序运行期间不可改变的量

如下:

final double PI = 3.14;
int a = 100;
a = 2 + 3;

上方代码中的被final修饰的PI以及100,2,3都被称为常量,a则被称为变量。

变量

Java程序中最基本的储存单元

要素包括变量名变量类型作用域

每个变量都有类型,类可以是基本类型也可以是引用类型。

变量名必须是合法的标识符。

int a = 1;
double b = 2;

变量的作用域

 变量可分为静态变量、成员变量局部变量

类变量

作用域:全局

成员变量

作用域:类

局部变量

作用域:局部

public class HelloWorld {
    //类变量
    public static int a = 10;
    //成员变量
    int b;
public static void main(String[] args) {
    //局部变量
    final intc = 100;
    }
}

运算

 算数运算符

7 + 3 // = 10
7 - 3 // = 4
7 * 3 // = 21
7 / 3 // = 2
7 % 3 // = 1

自增自减

int a = 1;
int b = 1;
int c = 1;
int d = 1;
a ++ // = 1
++ b // = 2
c -- // = 1
-- c // = 0

 赋值运算符
 

a += 1 // a = a + 1
a -= 1 // a = a - 1
a *= 1 // a = a * 1
a /= 1 // a = a / 1
a %= 1 // a = a % 1

关系运算符

>、<、>=、<=、==(相等)、!=(不等)

比较运算符的结果是布尔型,成立为ture,不成立为false

2 > 3  // false
2 < 3  // true
2 >= 3 // false
2 <= 3 // true
2 == 3 // false
2 != 3 // true

逻辑运算符
&&(与)、||(或)、!(非)

true && false // false
true && true  // true
true || false // true
false || false // false

流程控制

顺序结构

顺序结构是最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行。程序按照从上到下的顺序执行。

System.out.println(1);
System.out.println(1);
System.out.println(1);
//从上到下依次执行

分支结构

用于判断,在平时生活中经常遇到,比如:


如果我高考成绩超过700分,我就上A大学,如果没超过700,但是超过600了,我就上B大学,不然我就回家种地

在这种情况下,我们可以这样写:

int a = 高考成绩;
if(a > 700)
    System.out.println("我要上A大学");
else if (a > 600)
    System.out.println("我要上B大学");
else 
    System.out.println("我要回家种地");
if

if分为单分支双分支多分支if嵌套

单分支:

if(2 > 1){
    System.out.println("嘟嘟噜");
}

双分支:

if(true){
    System.out.println("这是第一个分支");
}else{
     System.out.println("这是第er个分支");
}

多分支:

以考试成绩为例

int s = 85;
 
if(s >= 80) {    
    System.out.println("优");
}else if(s >= 60){    
    System.out.println("及格");
}else{    
    System.out.println("不及格");
}

if嵌套

if(条件1) {
    if(条件2) {
        代码块1
    } else {
        代码块2
    }
} else {
    代码块3
}
switch

switch着重于处理等值的条件判断

如果case执行完后需要跳出,就需要在case语句块后添加break

switch(表达式){
    case 值1:
        语句块1;
        break;
    .....
    case 值N:
        语句块N;
        break;
    default: 
        语句块;
}        

以“三哥”家种姓制度为例举例

int rank = 'A';
switch (rank){
    case 'A':
        System.out.println("婆罗门"); 
        break;              
    case 'B':
        System.out.println("刹帝利");
        break;                 
    case 'C':
        System.out.println("吠舍");
        break; 
    default:
        System.out.println("首陀罗");
 }

循环结构 

for

先判断再执行,循环次数确定

for(初始值;条件表达式;迭代语句){

        循环体;

}

如:输出1 到99

for(int i = 1; i < 100;i ++){
    System.out.println(i);
}
while

先判断再执行,循环次数不确定

While(条件判断){

        循环体

        迭代语句

}

如:输出1 到99

int i = 1;
while(i < 100){
    System.out.println(i);
    i ++;
}
do ··· while

先执行再判断,循环次数不确定

do{

        循环体

        迭代语句

}While(条件判断);

如:输出1 到99

int i = 1;
do{
    System.out.println(i);
    i ++;
}while(i < 100);

流程跳转

break

用于do-while、while、for、switch中时,可跳出循环而执行循环后面的语句

continue

用于循环中,跳过本次循环,执行下一次循环

return

结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束,不管这个return处于多少层循环之内。

Scanner

Scanner类,获取用户输入 

import java.util.Scanner; 
public class Hello {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        if (sc.hasNext()) {
            String str = sc.next();
            System.out.println(str);
        }
    }
}

打印出输入的信息

  • 27
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liulin_03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值