java基础(一)了解什么是java、常见的数据类型、最简单的逻辑运算

java基础

1.java语言跨平台原理

java程序可以在任意os上运行:在不同的os上运行不同的JVM实现跨平台

在这里插入图片描述

2.JRE和JDK

JRE :java运行时环境,包含JVM和运行时所需的核心类库

JDK:java程序开发工具包,开发Java程序必须安装JDK。

  • 编译工具javac.exe
  • 运行工具java.exe

在这里插入图片描述

3.JDK的下载和安装

oracle官网下载JDK

所有的开发工具安装在统一目录下方便管理

常见的目录:

  • bin:该路径下存放了JDK的各种工具命令,java和javac存放在该目录下
  • conf:该路径下存放了JDK相关的配置文件
  • include:该路径下存放了平台特定的头文件
  • jmods:存放JDK各种模块
  • legal:JDK各模块授权文档
  • lib:JDK补充JAR包
  • 其余文件为说明性文档

4.常用Dos命令

  • 盘符名称: E:表示切换到E盘
  • dir 查看当前路径下的内容
  • cd 目录 进入单级目录
  • cd … 退回上级目录
  • cd 目录1\目录2… 进入多级目录
  • **cd \ ** 回退到盘符目录、
  • cls 清屏
  • exit 退出命令提示符窗口

5.PATH环境变量配置

  • 为什么配置环境变量

bin下的java和javac本来不能直接在命令行中运行,必须指定到存放的目录下才能运行。为了简化其的使用,配置环境变量。

  • 如何配置环境变量

  1. 打开控制面板高级系统设置
  2. 点击环境变量在系统变量中进行新建配置(变量名为JAVA_HOME,变量值为JDK的安装目录)
  3. 编辑系统变量中的Path变量的值

在这里插入图片描述

6.命令行运行程序

  • 开发java程序的三个步骤:

    1. 编写程序 记事本
      2. 编译程序 javac
      3. 执行程序 java
  • cmd步骤:

  1. 建立文件xxx.java,编写好程序内容
  2. 打开cmd,进入到文件xxx.java所在的目录,进行编译文件,得到class文件(指令:javac hello.java)
  3. 运行xxx.java(java hellio)不用后缀名即可
    在这里插入图片描述

7.BUG的解决

识别BUG,分析BUG,解决BUG

8.NotePad软件的安装和使用

配置时需要注意的:

在这里插入图片描述
在这里插入图片描述

tip:按Tab进行自动补全

9.基础语法

  • 注释:在程序指定位置添加的说明性信息

    • 注释的分类:
      • 单行注释://
      • 多行注释:/* 注释信息 */
      • 文档注释 😕** 注释信息 **/
  • 关键字:java语言赋予了特定含义的单词

    • 关键字全部小写
    • 代码编辑器一般有特殊颜色标记
  • 常量:在程序运行过程中,值不能改变的梁

    • 常量分类:
      • 字符串常量:用双引号括起来的内容 ”XXX“
      • 整数常量:不带小数的数字 666
      • 小数常量:带小数的数字 6.66
      • 字符常量:用单引号括起来的内容 ’X‘
      • 布尔常量:布尔值,表示真假 true
      • 一个特殊的值,空值 null
public class ConstantDemo{
    public static void main(String[] args){
        //字符串常量
        System.out.println("Hello");
        //整数常量
        System.out.println(666);
        //小数常量
        System.out.println(6.66);
        //字符常量
        System.out.println('a');
        //布尔常量
        System.out.println(true);
        //空常量不能直接输出
        //System.out.println(null);
    }
}
  • 数据类型:

    • 计算机的存储单元:计算机存储设备的最小信息单位叫bit,计算机中最小的存储单元叫字节,字节是由连续的八个位组成

    1B=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB

    • java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型分配不同大小的存储空间。

在这里插入图片描述

内存占用情况和取值范围:

在这里插入图片描述

  • 变量:在程序运行过程中,其值可以改变的量
    • 变量的组成:变量名+数据类型+变量值 int a=10;
    • 变量的使用:取值和修改值
public class VariableDemo{
    public static void main(String[] args){
        //定义变量
        int a=10;
        //输出变量
        System.out.println(a);
        //修改变量
        a=20;
        System.out.println(a);
    }
}
  • 变量的使用注意事项:

    1.变量名不能重复

    2.未赋值不能直接使用

    3.long:

    //直接赋值会报错(默认等号右边为int类型)
    long i=1000000000;  
    //long类型赋值时末尾需要加L
    long i=1000000000L;
    

    4.float:

    //直接赋值会报错(默认等号右边为double类型)
    float i=13.14;  
    //long类型赋值时末尾需要加F
    float i=13.14F;
    
  • 标识符:用来定义名称的字符,由数字、字母、下划线、¥组成

    • 不能以数字开头

    • 不能是关键字

    • 区分大小写

    • 常见命名约定:

在这里插入图片描述

  ==小驼峰:方法和变量==

  ==大驼峰:类==
  • 类型转换:

    • 自动类型转换:把一个表示数据范围小的数值赋值给一个表示数据范围大的变量

在这里插入图片描述

double d=10;
System.out.println(d);
//输出10.0

byte b=10;
short s=b;
int i=b;

// char c=b;不可以
//char c='c';   int i=10;  char a =c+i;不可以   int a =c+i;可以
  • 强制类型转换:把一个表示数据范围大的数值赋值给一个表示数据范围小的变量
int k=(int)88.88;
System.out.println(k);  //88
  • 运算符:

    • 算数运算符:+、-、*、/、%

    • /、%分别得到商数和余数

    • 整数相除只能得到整数,要想得到小数必须有浮点数参与

    • 字符的+操作:

      int i=10;
      char c='A';
      System.out.println(i+c);//75   表示'A'的值为65
      
  • 字符串的+操作:

System.out.println("it"+"dogec"); //itdogec
System.out.println("dogec"+666);  //dogec666
System.out.println(666+"dogec");   //666dogec
System.out.println(666+66+"dogec");//732dogec
System.out.println("dogec"+666+66);//dogec66666
  • 赋值运算符:=、+=、-=、*=、/=、%=
short a =20;
//a+=20;
System.out.println(a);  //报错,参见类型转换
  • 自增自减运算符:++、- -

    int i=10;
    int j=i++;    //先赋值再自加
    System.out.println(j);   //10
    int j=i;
    System.out.println(j);   //11
    int j=++i;
    System.out.println(j);   //12
    
  • 关系运算符: ==、!=、>、<、>=、<= 结果返回bool类型的值

int i=10;
int j=20;
System.out.println(i==j);   //false
System.out.println(i=j);    // 20   把j的值赋值给i,然后输出i
  • 逻辑运算符:与或非 、异或(&、|、!、^)

    • 对于^,相同为false,不同为true

    • 短路逻辑运算符:&& 、||

      区别:

      int i=10,j=20;
      System.out.println(i++>100&j++>100);
      System.out.println(i); //11
      System.out.println(j); //21
      
      int i=10,j=20;
      System.out.println(i++>100&&j++>100);
      System.out.println(i); //11
      System.out.println(j); //20
      

在这里插入图片描述

  • 三元运算符:如:a>b?a:b;
int a=10,b=20;
int max=a>b?a:b;   //获取两个数据中的较大值    若为true则赋值为a,否则赋值为b
System.out.println(max); //20

10.数据输入

  • 导包 import java.util.Scanner
  • 创建对象 Scanner sc=new Scanner(System.in);
  • 接收数据 int i=sc.nextInt();
import java.util.Scanner;
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();

11.流程控制语句

  • 顺序结构:按照代码的结构依次执行

  • 分支结构(if ,switch)

    • if语句:

      • 格式一:if
      int a=10;
      int b=10;
      if(a==b){
      	System.out.println("ab相等"); 
      }
      
      • 格式二:if else
      int a=10;
      int b=10;
      if(a==b){
      	System.out.println("ab相等"); 
      }else{
          System.out.println("ab不相等"); 
      }
      
      • 格式三:if else if else
      import java.util.Scanner;
      Scanner sc=new Scanner(System.in);
      int week=sc.nextInt();
      if(week==1){
      	System.out.println(1); 
      }else if(week==2){
          System.out.println(2); 
      }else{
          System.out.println(3); 
      }
      
    • switch语句:

      switch(表达式){

      ​ case 值1:

      ​ 语句1;

      ​ break;

      ​ case 值1:

      ​ 语句2;

      ​ break;

      ​ …

      ​ default:

      ​ 语句n;

      }

      • 表达式:取值类型为byte、short、int、char、JDK5以后可以是枚举,JDK7以后可以是String
      • case:后跟与表达式比较的值
      • break:表示中断结束switch语句,不写break将出现穿透现象
      • default:上面的情况都不匹配时执行
      import java.util.Scanner;
      Scanner sc=new Scanner(System.in);
      int week=sc.nextInt();
      switch(week){
      	case 1:
      		System.out.println(1); 
      		break;
      	case 2:
      		System.out.println(2); 
      		break;
      	default:
      		System.out.println(3); 
      }
      
  • 循环结构(for while,do…while)

    • for循环:
    for(int i=1;i<=5;i++){
    	System.out.println("hello world"); 
    }
    
    • while循环(不知道循环多少次较为适用):
int i=1;
while(i<=5){
	System.out.println("hello world"); 
    i++;
}
  • do while 语句:
int i=1;
do{
	System.out.println("hello world"); 
    i++;
}while(i<=5);
  • 三种循环的区别

    • do while至少执行一次
    • for中的循环变量为局部变量,while可为全局变量
    • 死循环 命令行中Ctrl+C停止死循环
    for(;;){
    	System.out.println("hello world"); 
    }
    while(true){
    	System.out.println("hello world"); 
    }
    do{
    	System.out.println("hello world"); 
    }while(true)
    

12.跳转控制语句

continue、break 均用于条件判断中

  • continue:跳过某次循环体内容的执行,继续下一次执行
  • break:终止循环体内容的执行,结束当前整个循环
for(int i=1;i<=5;i++){
    if(i%2==0){
        continue;
    }
	System.out.println(i);  //1 3 5
}

for(int i=1;i<=5;i++){
    if(i%2==0){
        break;
    }
	System.out.println(i);  //1
}

13.循环嵌套

循环语句中包含循环语句

for(int hour=0;hour<=23;hour++){
    for(int minute=0;minute<60;,minute++){
		System.out.println(hour+"时"+minute+"分");  
	}
}

14.Random

作用:用于产生一个随机数

  • 导包 import java.util.Random
  • 创建对象 Random r=new Random();
  • 接收数据 int number=r.nextInt(10); //随机数取值范围为[0,10)
import java.util.Random;
Random r=new Random();
int number=r.nextInt(10);   //随机数取值范围为[0,10)
System.out.println(number);  

/*获取一个1-100之间的随机数*/
int number=r.nextInt(100)+1;   
System.out.println(number); 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值