Java初学者入门级基础(宝藏干货!!!)

初识java

java语言特性:简单易学、面向对象、安全可靠、跨平台、多线程、健壮、分布式

java跨平台特性是通过java虚拟机(JVM)实现,JVM是java语言的运行环境,是java的解释和执行器。JVM包含于JRE(java运行环境)中,而JRE包含于JDK中

  1. JRE:java运行环境,如果有运行Java程序,就需要JRE的支持,JRE包含JVM
  2. JDK:java开发工具,包含开发java程序的所有工具,如javac和java等命令,JDK包含JRE

JDK主要目录文件的功能介绍

  • bin:存放JDK的各种工具命令,java和javac命令就存放在这个目录中
  • include:存放一些C语言使用的头文件,可让java调用c/c++实现函数功能
  • lib:java的核心类库,JDK工具命令的实际存放位置
  • jmods:存放了JDK的各种模块(从jdk9开始引入模块系统)
  • conf:存放了JDK的相关配置文件

java程序的成功运行必须经过编写、编译和运行3个过程

编写:.java(源文件后缀名)

编译:经历过4个步骤:词法分析、语法分析、语义分析、代码生成 .class(字节码文件后缀名)

java基本语法

代码注释:单行://   多行:/*...*/

50个java中的关键字

abstract

assertbooleanbreakbyte
casecatchcharclassconst
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile
continuedefaultdodoubleelse

*:4个访问控制类(private私有的 protected受保护的 public 公共的 default默认)

13个类、方法和变量修饰符(abstract声明抽象 class类 extends扩充、继承

                 final最终值,不可改变的 implements实现(接口)interface 接口

                 native本地,原生方法(非java实现)new新,创建   static静态

                  strictfp 严格,精准  synchronized 线程,同步 transient 短暂

                  volatile 易失)

11个程序控制语句(break 跳出循环 case 定义一个值以供switch选择  continue继续

do运行 else 否则 for 循环  if 如果 instanceof  实例 retur 返回 switch 根据值选择执行‘

while循环)

6个错误处理(assert 断言表达式是否为真  catch 捕捉异常 finally 有没有异常都执行

throw 抛出一个异常对象 throws 声明一个异常可能被抛出 try  捕获异常)

2个包相关(import引入 package 包)

8个基本类型(boolean 布尔型 byte 字节型  char字符型 double双精度浮点 float 单精度浮点

int 整型 long 长整型 short 短整型)

3个变量引用(super父类,超类 this 本类  void 无返回值)

2个保留关键字(goto 是关键字,但不能使用  const是关键字,但不能使用)

标识符注意点:

1、见名知义    2、不能使用java中关键字作为标识符

3、下划线对解释器有特殊意义,建议避免使用以下划线开头的标识符

4、java中严格区分大小写

分隔符:空格、逗号、、分号及行结束符都被称为分隔符,任意两个相邻标识符、数字或语句之间至少要有一个分隔符,以便程序编译时能够识别。分隔符必须是半角英文符号

变量命名注意点:

1、必须是一个有效的标识符   2、不可以使用Java关键字

3、不能重复    4、应选择有意义的单词作为变量名

常量的语法格式和变量类似,只需要在变量的语法格式前面添加关键字final。java编码规范要求常量名必须大写,是程序中的固定值,不能重复,只能赋值一次

8种基本数据类型

根据存储类型可分为三大类----数值型(整数类型---byte、short、int、long浮点类型---float、double)、字符型(char)和布尔型(boolean)

所有非基本数据类型都是引用数据类型。java中的引用数据类型大致分为类(class)、接口(interface)和数组(array)三种,可以用来存储字母和符号。最常用的引用数据类型是String类型。String是一个类,表示字符串,也是一串字符

运算符

可以分为算术运算符(9个)、赋值运算符(6个)、关系运算符(6个)、逻辑运算符(6个)、位算符(7个)和三元运算符

java表达式是由数字、运输符、数字分组符号(括号),常量或变量等组成的有意义的序列

顺序结构

是线性的程序结构,没有特定语法,按代码编写先后顺序从上而下依次执行

//在单线程的情景下使用
 System.out.println("1");
 System.out.println("2");
 System.out.println("3");

分支结构

if语句     if-else语句   if-else if-else语句 

switch-case语句(

当满足分支时,使用break结束case语句,当内容都不满足时执行default中的语句

这种结构只支持整型、字符、字符串、枚举,且在只有一个变量时使用

)

 if-else语句

//判断一个年份是否是闰年
 public static void main(String[] args) {
        //是公历闰年的条件:①能被400整除 ②能被4整除但不能被100整除
    Scanner input = new Scanner(System.in);
    int y = input.nextInt();
        if(y%400 == 0 || (y%4 == 0 && y%100 != 0)){
            System.out.println(y +"是闰年!");
        } else {
            System.out.println(y +"不是闰年!");
        }
    }
/*判断一个数是否为水仙花数?
所谓的水仙花数是指一个3位数,其个位、十位、百位上数字的立方之和等于其本身的数
例如: 153 = 1*1*1 + 5*5*5 + 3*3*3   */
public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        //先得到百位,十位,个位上的数字
        int n1 = n/100;
        int n2 = n % 100 / 10;
        int n3 = n % 10;
        // 使用if语句判断他们的立方和是否相等
        if(n1 * n1 * n1 + n2 * n2 * n2 + n3 * n3 * n3 == n){
            System.out.println(n + "是水仙花数");
        } else {
            System.out.println(n + "不是水仙花数");
        }
    }
//输出1-100之间不能被5整除的数,每6个一行
public static void main(String[] args) {
        int count = 0;  //统计个数
        //先输出所有的数
        for (int i = 0;i <= 100;i++){
            //过滤不能被5整除的 if语句
            if (i % 5 != 0){
                count++;
                System.out.print(i + " ");
                //判断,满6个换行
                if (count % 6 == 0){
                    System.out.println();
                }
            }
        }
    }
//判断一个数字的奇偶
 public static void main(String[] args) {
        int num = 56;
       if(num % 2 == 0){
           System.out.println(num+"是偶数");
       }else {
           System.out.println(num+"是奇数");
       }
    }
//输出结果:56是偶数

switch-case语句 

//根据day的值输出星期
public static void main(String[] args) {
        int day = 1;
        switch (day){
            case 1:{
                System.out.println("星期一");
                break;}//大括号可以省略
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            default:
                System.out.println("星期天");
                break;
        }
    }
//输出结果:星期一

嵌套分支结构(实现注册功能)

import java.util.Scanner;

public class Demo0608 {
    public static void main(String[] args) {
        System.out.println("[变变变]>>用户注册");
        Scanner input=new Scanner(System.in);
        System.out.println("请输入用户名:");
        String uName =input.nextLine();
        System.out.println("请输入密码");
        String pwd1=input.nextLine();
        System.out.println("请确认密码:");
        String pwd2=input.nextLine();
        if (pwd1.equals(pwd2)){
            System.out.println("["+uName+"]注册成功!");
        }
    }
}

循环结构

while循环  do-while循环  for循环

嵌套结构

跳转语句

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱吃java的羊儿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值