java基础1

1.计算机

  • 计算机硬件:cpu,内存,显卡,键盘,鼠标,显示器…

  • 裸机:只有硬件没有软件的机器

    硬件离不开软件,软件也离不开硬件

  • 计算机软件

    • 系统软件:windows,unix(linux),ios,android…

      系统软件用于驱动硬件设备。

    • 应用软件:

      • B/S架构的软件,不如京东,淘宝…(B - browser,浏览器,S - server,服务器)
      • C/S架构的软件,比如QQ,腾讯会议…(C - client,客户端,S - server,服务器)

image-20230718081706521

  • 程序:数据+算法就是程序。

    image-20230718081756397

2.java的介绍

2.1java的历史

java之父:James Gosling Osk

java1995年问世,2004年Java登录火星,2009年Oracle以超过70亿美元交易总值收购了Sun

java官网:https://www.oracle.com/java/technologies/downloads/

2.2JAVA奇数体系架构

image-20230718082109658

  • JAVA ME:

    Java ME (Java Platform Micro Edition) 称之为 Java 平台微型版 , 为机顶盒、移动电话和PAD等嵌
    入式消费电子设备提供的Java 解决方案。
    随着3G移动智能平台时代的到来,特别是以Java 为核心语言的Android
    智能平台的迅速普及,Java ME 已经走向淘汰。

  • JAVA SE:

    Java SE (Java Platform Standard Edition) 称之为 Java 平台标准版,是Java平台基础。
    —Java SE 包含了Java应用所需的基础环境和核心类库。
    —Java SE 还定义基于桌面应用的基础类库,通过这些类库 ,我们可以编写出类似于像Office那样
    丰富多彩的桌面应用

  • JAVA EE:

    Java EE (Java Platform Enterprise Edition) 称之为 Java 平台企业版。
    Java EE 构建在 Java SE 基础之上,用于构建企业级应用。所谓的企业应用
    是指那些商业组织、大型企业而构建的应用系统,例如电信的“计费系统”、
    银行的“网银系统”、企业的“客户关系管理系统”等等

2.3 安装JDK

  • Java SE Development Kit : JDK , java的开发工具包

  • JDK中包含: JDK , JRE , JVM

    JDK — Java Development Kit (Java开发工具包)

    JRE — Java Runtime Environment (Java运行环境)

    JVM — Java Virtual Machines (Java虚拟机)

image-20230718082538712

  • JAVA跨平台特征:

    Java官方提供了针对不同平台的JVM软件,这些JVM遵循相同的标准,只要是标准的.class文件,就
    可以在不同的操作系统上运行,且运行结果一样,这样,就实现了所谓的“一次编译到处运行”
    在不同的操作系统上,安装不同版本的JDK, 也就安装了适合于该操作系统的JVM , 然后JVM可以运
    行任意字节码文件

image-20230718082636983

2.4 java语言需要先编译, 然后再解释执行。

  • 程序员编写的Java源文件(.java)首先要经过编译,生成字节码文件(.class)

    通过javac命令,把.java文件,编译为.class文件。

  • Java程序的运行需要JVM的支持。JVM是一个软件,安装在操作系统中,为字节码文件提供运行环

    境。

    通过java命令,运行.class文件。

image-20230718174555897

  • JAVA的编译期和运行期

image-20230718174613019

long k = 24 * 60 * 60 * 1000;//1天的毫秒。 编译的时候,会把数据结果计算出来 ,因为全部都是字面量(直接量)。
int a = 24;
long k1 = a * 60 * 60 * 1000; // 编译的时候,不会把数据结果计算出来。 因为表达式中包含了变量。

3.IDE:集成开发环境

  • idea是目前主流的IDE开发环境

  • 所谓集成开发环境(IDE,Integrated Development Environment)是专门为程序员提供的应用软件,这些软件往往具备功能强大的图形界面。在IDE的辅助下,程序员可以更加高效的完成编译、调试、提交、重构等工作。作为一个合格的程序员应该对主流的IDE工具有较高的熟练度,但也要防止“过分依赖IDE”等问题。

4.idea的使用

package day1; // package - 包,解决命名冲突。 包名+类名是类的全名。
// 类: 类型 , 数据类型。 如果类名相同,那么就看包名是否相同。 如果“包名+类名”都相同,就表示为同一个类型。
// java 是强数据类型语言。 不同的数据类型,有不同的操作(属性不同,方法不同)。
// 练习: 输入一个学生的信息(姓名,年龄,性别, 爱好) ,然后输出这些信息。
import java.util.Scanner; // import: 导入 , “java.util.Scanner”一个类型。 (先导入,后使用。)
// 创建一个class(类型)。
// public : 公开的,就是访问权限公开(同包中,不同包中,父子关系。)。
// *** public修饰的类的名字必须和文件名相同。
// *** 一个文件夹中可以有多个class.
public class Hello {
  // static : 静态的 , 静态方法中只能直接调用静态方法。
  // void : 无返回值。 定义的方法,如果没有数据要返回(return), 那么方法定义的时候设置返回值类型为void.
  // String[] args : 数组的定义。 方法的参数。
  // main : main方法,是java程序运行的入口函数。
  // *** java.lang包中的所有类型,不需要导入,就可以使用。
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入姓名:");
    String  name =  scanner.nextLine(); // nextLine : 接收字符串. 回车换行也属于字符串。
    System.out.println("请输入年龄:");
    int age = scanner.nextInt(); // nextInt : 输入整数,接收整数。 (输完整数后,输入了回车.)
    System.out.println("请输入性别:");
    String sex = scanner.next();// next: 接收字符串,但是不接回车换行。
   // String sex = scanner.nextLine(); // 此处的nextLine 接收了上一个输入语句的回车换行。用户就没有机会输入数据了。
    System.out.println("请输入爱好:");
    String hobby = scanner.next();
   // String hobby = scanner.nextLine();
    System.out.println("---------个人信息--------");
    System.out.println(name + "今年:" + age +"岁 , 是个:" + sex
    + ", 爱好:" + hobby);
 }
  // int : 表示方法的返回值是一个整数, 方法内部就需要使用return关键字,返回一个整数。
  public static  int sum(int a ,int b){
    return  a + b;
 }
}

String name = scanner.nextLine(); //nextLine:接收字符串, 回车换行也属于字符串
String sex = scanner.next(); // next:接收字符串,但是不接受换行

5.java中的注释

  • 要求:关键代码都需要写注释

    • 类前面的注释:类的功能介绍,方法前的注释:方法的功能介绍,参数返回值的介绍,成员变量的注释:解释变量用途
    • 理清思路
    • 便于自己和其他人阅读代码
  • //:单行注释

  • /*…*/:多行注释

  • /**…*/:文档注释,可以生成文本文件。

/**
* 求两个数据的和
* @param a 参与运算的一个数据
* @param b 参与运算的另一个数据
* @return  返回两个数据的和
*/
public static  int sum(int a ,int b){
  return  a + b;
}

6.变量的使用

6.1什么是变量

变量是指代在内存中的一块存储空间,用于存储程序运算过程中需要用到的数据

6.2java变量的声明

变量声明的语法规则:变量类型 变量名字;

image-20230718184607705

java语言语法规定,变量在使用前,必须声明,否则会有“编译错误”

public static void main(String[] args){
    a = 1; //编译错误,变量没有声明
    int age = 30;
    aeg = 30;//编译错误
    System.out.println(aeg);
}

如果多个变量的类型相同,可以在一条 语句中声明,中间用逗号分隔

1.变量类型必须一致,才可以一条语句声明多个变量。

2.多个变量中间是“逗号”分隔

public static void main(String[] args){
    int a,b;
    //声明了两个变量,名字分别为a,b
    int c = 3,d,e;
    //声明了三个变量。c赋值为3,d,e没有赋值
}
6.3声明之后的变量,先初始化,再使用

Java 语言规定变量在使用之前必须初始化,即必须给该变量赋予特定的值

// 定义变量 , 给变量赋值
// ** = 在程序中,用于赋值
// ** == 在程序中,表示判断是否相等
public static void main(String[] args) {
    // int age; // 声明了一个变量  ,表示用户的年龄
    // System.out.println(age);  // 变量先初始化,然后再使用
    age = 20;
   	System.out.println(age); // 先初始化,再使用
    
    double score = 95.5;  // 声明变量的时候,就初始化
    System.out.ptrintln(score);  // 先初始化再使用
    
    // 数组的使用
    int[] arr; //声明了变量
    arr = new int[10]; // 初始化变量
    
    double[] arr1 = {10.1,10.2,10.3}; // 声明变量的时候,给变量赋值
}
6.4变量命名规则:
  • 变量的命名规则–必须遵守

    • 可以有字母,数字,“_”(下划线)和“&”(美元符)组成

    • 首字符不能以数字开头

    • Java是大小写敏感的语言,命名变量是需要注意:

      • 不能使用Java保留字(Java语言规定好的,有特殊含义的字符:public static void…)
    • 中文可以作为变量名字,但是不推荐使用

    • Java变量命名最好能“见名知意”

    • Java编程规范要求:变量的命名需要采用“驼峰命名法“,即如果Java变量名字由多个英语单词组成,除第一个单词首字母小写外,其他的单词,需要首字母大写,其余的字母小写。

      例如:

      ​ salary

      ​ teacher

      ​ englishTeacher

      ​ littleStudentName

public static void main(String[] args){
  int a,b;
  // int c = a + b; // 编译错误:a+b使用的时候没有初始化。

  int a1 = 10, a2 = 10;
  int c1 = a1 + a2;

  int 123 = 100; // 纯数字不能作为变量名
  int *a = 100; // 特殊字符不能作为变量名
  int 中国人 = 10000000; // 不建议使用中文命名
  int A1 = 100; // 大小写敏感
  int public = 100; // 关键字不能作为变量名
  int public1 = 100;
  // int _ = 100;  // 一个这个_(下划线)符号不能作为变量名
  int _1 = 100;
  int $ = 100;

  // 电脑的描述: 硬盘多大,内存多大,处理器的类型,显卡的类型
  int hardDisk = 512;
  int memory = 16;
  String cpu = "xxxx";
  String gpu = "xxxx";
  // 人的介绍:姓名,电话,生日,住址
  String name = "xx";
  String phone = "12321";
  String birthday = "2000-10-5";
  String address = "xxx";
}
6.5java中的关键字
abstract,assert,boolean,break,byte,continue,case,catch,char,class,const,double,default,do,extends,else,enum,final,finally,float,for,goto,long,if,implements,import,native,new,null,instanceof,int,interface,package,private,protected,public,return,short,static,strictfp,super,switch,synchronized,this,while,void,throw,throws,transient,try,volatile
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

A码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值