javaSE基础学习

java学习(更新中)

java入门
一、Java技术体系

三种技术平台:

java SE:标准版-java的核心和基础

java EE: 企业版-企业级应用开发的一套解决方案

java ME:小型版-针对移动设备应用的解决方案(一般不用,Android和ios)

java基本上什么都可以干,主要做互联网系统的开发

二、搭建java开发环境

java的产品叫jdk:java development kit:java开发者工具包,必须安装JDK才能使用java

企业开发一般用jdk8,学习可以用jdk17,二者可以转换

三、命令行窗口的常用命令

切换到某个盘下:D:,C:

查看当前目录下的文件信息: dir

进入到某个路径: cd 返回到上一级:cd … ; 回退到盘根:cd \

清屏:cls

四、helloworld

java程序开发的三个步骤:编写代码、javac编译代码(源代码文件->字节码文件)、运行代码

java建议代码文件名全英文,首字母大写,满足驼峰模式,源代码文件的后缀必须是.java

五、JDK的组成

JVM(java virtual machine)java虚拟机,真正运行Java程序的地方

核心类库:Java自己写好的程序,给程序员自己的程序调用的

JRE:Java的运行环境,它包含JVM和核心类库

JDK:Java开发工具包(javac、java。。。)

Java程序一次编译,处处可用:只要操作系统上安装了JVM虚拟机,就可以使用

六、PATH环境变量

PATH环境变量用于记住程序路径,方便在命令行窗口的任意目录启动程序

老版本的JDK安装时没有自动配置环境变量

JAVA_HOME环境变量:告诉操作系统JDK安装在了哪个位置(将来其他技术要通过这个环境变量找JDK)

IDE(集成开发环境):把代码的编写,编译,执行等多种功能结合到一起的开发工具

七、IDEA管理Java程序的结构

project(项目、工程)

module(模块)

package(包)

class(类)

八、使用idea开发第一个Java程序的步骤

1、创建工程new project

2、创建模块new module

3、创建包new package

为包取名字,域名倒写

4、创建类new class(类名不要带后缀)

5、编写代码,并启动

question:idea中java程序是自动编译和执行的,那编译后的class文件在哪里?

在这里插入图片描述

ctrl+alt+i 格式化

ctrl+x 删除行

九、基础语法

1、注释

/*
多行注释
床前明月光
疑是地上霜
 */
//单行注释;这是一个打印语句,是往控制台输出内容的
/**
 文档注释
 文档注释的内容可以自动提取到程序说明书
 目标:学会使用注释
 这个程序就是讲解注释的
 */

注释并不影响程序的执行

原因:javac编译后的class文件没有注释

注释快捷键:

ctrl+/ 单行注释

ctrl+shift+/ 对选中的代码多行注释

2、字面量

字面量是编程语言中用于表示固定值的直接表示法。

特殊字符:\n表示换行 \t表示tab

3、变量

变量是用来记住程序要处理的数据的

变量格式:数据类型 变量名称 = 数据

变量就是内存中的一块区域,可以理解成一个盒子,用来装一个数据的,变量中装的数据是可以被替换的

使用变量的注意事项:

a 变量要先声明才可以使用

b 变量是什么类型,就应该用什么类型的数据,否则会报错

c 变量是从定义开始到}截止的范围内有效,同一个范围内,定义的多个变量,它们的名称不能一样

d 变量定义的时候可以不赋初始值,但在使用时,变量里必须有值,否则报错

4、关键字、标识符

关键字:java语言自己用到的一些词,有特殊作用的,我们称之为关键字,如public、class、int、double。。。

标识符:标识符就是名字,我们写程序时会起一些名字,如类名、变量名等等都是标识符

尽量满足“驼峰模式”

java语法
一、数据存储方式

计算机中表示数据的最小单元:一个字节

Text、Image、Sound存储方式:

char ch=‘a’;//字符转换为ASCII码存储

Image:三原色,0-255存储

Sound:二进制组成波形图

二、数据类型

数据类型分类:基本数据类型、引用数据类型

基本数据类型(如int、float等)直接存储值本身,而引用数据类型(如类、接口、数组等)存储的是对象的内存地址。基本数据类型的变量在栈上分配内存,而引用数据类型的变量在栈上分配引用(指针),对象的具体信息存储在堆内存上。

在这里插入图片描述

char字符型 ‘单引号一个字符’

string字符串型 “双引号多个字符” (它是引用数据类型)

注意:随便写一个整型字面量默认是int类型的。如果希望随便写一个整型字面量默认是long类型的,需要在数值后面加上l/L

随便写小数字面量,默认是double,如果希望小数是float,后面加上f/F

三、类型转换

为什么要进行类型转换?

存在不同类型的变量赋值给其它类型的变量

1、自动类型转换

类型范围小的变量,可以直接赋值给类型范围大的变量

eg:byte->int

2、表达式的自动类型转换

在表达式中,小范围类型的变量,会自动转换程表达式中较大范围的类型,再参与运算

byte、short、char ——》 int ——》long ——》float ——》double

注意事项:表达式的最终结果类型是由表达式中的最高类型决定的

在表达式中,byte、short、char是直接转换成int类型参与运算的

3、强制类型转换

类型范围大的数据或变量直接赋值给小范围的类型或变量,会报错

强制类型转换是强行将类型范围大的变量、数据赋值给类型范围小的变量

数据类型 变量2 = (数据类型)变量1、数据

eg:

int a = 20;

byte b = (byte)a;

快捷键:alt + 回车

浮点型转换成整型是丢弃小数部分,保留整数部分

四、运算符

1、算术运算符

+ - * / %

注意: 1、在Java中两个整数相除还是整数

可以把整数改成x.0

或者给变量乘以1.0

eg:int i=5;

int j = 2;

System.out.println(1.0 * i / j); //2.5

2、+号可以作为字符串的连接符

“abc” + 5 —> “abc5”

2、自增自减运算符

++ – 放在某个变量的前面或后面,对该变量的值+/-1

注意:++ – 如果不是单独使用(如在表达式中、或者同时有其他操作)放在变量前后会有明显区别。

放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算 (先加再用)

放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1 (先用在加)

3、赋值运算符

基本赋值运算符: = 右边赋值给左边

扩展赋值运算符: += -= *= /= %=

扩展的赋值运算符隐含了强制类型转换,强行转换成左边变量的类型。

int e = 10;
double f = 11.0;
e += f;
System.out.println("e=:" + e);

double变为int

4、关系运算符

在这里插入图片描述

5、逻辑运算符

把多个条件放在一起运算,最终返回布尔类型的值:true、false

&逻辑与 多个条件必须都是true,结果才是true

|逻辑或 多个条件中只要有一个是true,结果就是true

!逻辑非 就是取反

^ 逻辑异或 前后条件的结果相同,直接返回false;不同返回true(同假异真)

&& 短路与(双与) 左边为false,右边不执行

|| 短路或(双或) 左边为true,右边不执行

6、三元运算符、运算符优先级

三元运算符格式: 条件表达式 **?**值1 **:**值2

执行流程:先计算关系表达式的值,如果值为True,返回值1,如果为false,返回值2

需求1:根据条件输出不同结果

需求2:找出两个数中的较大值

需求3:找三个整数中的较大值

在表达式中,运算符执行的先后顺序是要看优先级的,例如*/的优先级高于±

7、案例知识:在程序中接收用户通过键盘输入的数据

API(Application Programming Interface:应用程序编程接口):JDK安装好后,就已经提供了很多java写好的程序给我们程序员来使用,这些程序统称为API

java为自己写好的程序提供了相应的 程序使用说明书(API文档)

Scanner:

使用scanner接收用户键盘输入的数据,需要三个步骤:

1、导包:告诉程序去JDK的哪个包中找扫描器技术

2、抄代码:代表得到键盘扫描器对象(东西)

3、开始调用sc的功能,来接收用户键盘输入的数据

注意:System、String在JDK中的Java.long包下

lang包不需要我们导包,是默认的包

在这里插入图片描述

导包:一般不需要我们自己做,idea工具会自动帮助我们导包

import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args) {
//        1、导包:告诉程序去JDK的哪个包中找扫描器技术
//        2、抄代码:代表得到键盘扫描器对象(东西)
        Scanner sc = new Scanner(System.in);
//        3、开始调用sc的功能,来接收用户键盘输入的数据
        System.out.println("请输入您的年龄:");
        int age = sc.nextInt();//执行到这,会开始等待用户输入一个整数,直到用户输入回车键才拿到数据
        System.out.println("您的年龄是:" + age);
        System.out.println("请输入您的姓名:");
        String name = sc.next();
        System.out.println("您的姓名是:"+ name);
    }
}
 Scanner sc = new Scanner(System.in);
//        3、开始调用sc的功能,来接收用户键盘输入的数据
        System.out.println("请输入您的年龄:");
        int age = sc.nextInt();//执行到这,会开始等待用户输入一个整数,直到用户输入回车键才拿到数据
        System.out.println("您的年龄是:" + age);
        System.out.println("请输入您的姓名:");
        String name = sc.next();
        System.out.println("您的姓名是:"+ name);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值