当前位置: 首页 > news >正文

JAVA笔记【一】

现实 (抽象) 类 (创建) 对象

特点:

1.面向对象

2.跨平台

3.安全性

4.多线程

java程序基本结构

1.   java源代码文件实际是普通的文本文件,源代码文件必须是.java扩展名,且必须小写

2.   java最基本单元是字,分为关键字和标识符 

        关键字  int代表整型,public代表公有的,class代表类,new表示在运行时动态分配内存空间

3.   语句

        换行语句:System.out.println();

        不换行:System.out.print();

4.   块

        基本上所有语句都要放在块中,除了package和import语句,块由{}分隔。

        块分为 类块,函数块,控制块

5.   特殊

6.   注释

命名规则

若在源程序中包含公共类,则源文件名必须与公共类名完全一致

类名:首字母大写

运行机制

跨平台性的实现需要对虚拟计算机进一步拓展,虚拟机屏蔽了虚拟计算机(win,Linux)的差异,在JVM层次,所有计算机都是相同的

A.java ---> A.class ---->运行结果

源程序-----字节码文件----结果

第一步:通过JVM编译器 (windows)

第二步:通过JVM解释器 (Linux)

开发步骤

1.编写源代码

2.在命令行下写javac编译源代码

3.执行源代码java

配置环境

目的:想要在任意目录下都可以打开指定软件

基本数据类型(c语言不见的)

整型

字节型 byte 1字节

短整型  short  2字节

默认是int型,想long型在数字后面加个l 或 L

字符型

编码是Unicode

基本数据类型的转换

隐式转换 范围小的转换成范围大的

显式转换  取值范围大的转小

byte short char在做运算时比较特殊,会先转换成int型

注意显式转换时只能同类型的

在类块中,方法外部的变量叫成员变量

使用static 叫静态变量

方法内,块内的叫局部变量

引用数据类型

类 class

接口 interface

数组

基本语法

导包import

Scanner在java.util包中

reader.nextInt();返回的是字符串

如果要读入char型的,用next().charAt(0);

运算符

变量名  instanceof  类名

switch括号里表达式类型必须是char int byte short string类型

数组声明

数据类型[] 数组名;

面向对象的基本特性

抽象 

封装   方法有权限,达到封装的目的

     权限修饰符

      public

      private

      protected

      default

setter getter设置,获取方法    setXXX带参无返回值 getXXX无参有返回值

非访问修饰符

static类方法类变量  对象名类名都可以访问

final不能够被继承

abstract抽象类抽象方法

synchronized

继承    

多态   两种意义:重载与重写

重载是操作名称的多态,同一个方法有多个功能的行为    同一个类中的同名方法,参数个数或类型要不同

重写是和继承有关的多态,发送相同的信息根据不同的类有不同调用的行为  

数组的定义与创建

string[]course  =  new String[4];/变量个数

初始化

String[] arr = {"高数"、""}

栈内存 course arr

堆内存 course[0]

建立联系:堆内存的首地址放在栈内存里

数组使用

特例化循环:for(String t:arr)

Arrays工具

枚举类型

修饰符 enum 枚举名{

        枚举值…

}

用枚举名声明变量,X=season.spring

定义包 package

引入  import

integer(int)

自动拆箱与装箱

static 只能操作 static修饰的变量

对安全有需求的要私有化

setter getter

数据一定要提供初始化入口

提供构造器初始化

相关文章:

  • 张雪峰教育观点及争议分析
  • 【java】@Transactional导致@DS注解切换数据源失效
  • 为AI聊天工具添加一个知识系统 之128 详细设计之69 编程 核心技术:Cognitive Protocol Language 之1
  • AutoMQ:无需 Cruise Control 实现 Kafka 的自动分区再平衡
  • GitLab 密钥详解:如何安全地使用 SSH 密钥进行身份验证
  • 用Python之requests库调用大型语言模型(LLM)API的流式输出与非流式输出比较
  • [C#]C#移动文件报错完全限定文件名必须少于 260 个字符,并且目录名必须少于 248 个字符
  • 新版的 distrobox 首先需要:设置密码
  • Spring Boot问题总结
  • deepseek+mermaid【自动生成流程图】
  • 独立开发者的内容营销教程
  • MySQL双主搭建-5.7.35
  • Vue 3 新特性:对比 Vue 2 的重大升级
  • V-HOP:结合视觉和触觉多模态融合数据集,助力机器人实现鲁棒的6D物体姿态跟踪
  • Ubuntu的tmux配置
  • 51单片机制作彩屏触摸小电子琴STC32G12K128+RA6809+彩屏1024x600
  • 02.网络编程套接字(一)
  • 进程的状态 ─── linux第11课
  • 【深度学习神经网络学习笔记(一)】深度学习介绍
  • 常用的设计模式
  • 简单的网站建设合同书/永久免费自助建站软件
  • 湖南网站开发 岚鸿/哈尔滨seo关键词
  • 佛山外贸网站建设精英/谷歌广告联盟
  • 会员充值网站怎么做/seo常用工具网站
  • 江北区网站建设/东莞seo培训
  • 网站建设公司资讯/百度网盘客户端