第二天学习Java

简介: 一、复习: 计算机语言的发展迭代史 第一代:机器语言第二代:汇编语言第三代:高级语言 面向过程:C,Pascal、Fortran 面向对象:Java,JS,Python,Scala,。。。 Java语言的特点: 面向对象 两个要素:类、对象 三个特征:封装、继承、多态 健壮性去除了C语言中的指针;.

一、Java编程基础知识:

计算机语言的发展迭代史

第一代:机器语言
第二代:汇编语言
第三代:高级语言

面向过程:C,Pascal、Fortran
面向对象:Java,JS,Python,Scala,。。。

Java语言的特点:

面向对象

两个要素:类、对象
三个特征:封装、继承、多态

健壮性
去除了C语言中的指针;自动的垃圾回收机制(仍然会出现内存溢出、内存泄漏)
跨平台性
write once,run anywhere
归功于JVM

JDK的下载安装

下载:官网
安装软件的路径中不能包含空格
path环境变量:windows操作系统执行命令所搜寻的路径
不看资料,手动编写类helloworld程序
class test{
public static void main(String[] args){
  System.out.println("This is a test");
}
}

二、关键字和保留字

关键字

定义:被Java语言赋予了特殊含义,用作专门用途的的字符串(单词)
特点:关键字中所有字母都为小写
官方地址: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

保留字

现有Java版本尚未使用,但以后版本可能会作为关键字使用、自己命名标志符时要避免使用这些保留字
goto,const

三、标识符

Java对各种变量、方法和类等要素命名时使用的字符序列称为标志符
技巧:凡是自己可以起名字的地方都叫标识符

标识符定义规则

1、由26个英文字母大小写,0-9,_或$组成
2、数字不可以开头
3、不可以使用关键字和保留字,但能包含关键字和保留字
4、Java中严格区分大小写,长度无限制
5、标识符不能包含空格
如果不符合以上规则,编译不通过。

标识符命名规范

命名规范并不是必须遵守的,一般建议遵守,否则不利于区分。
1、包名:多单词组成时,所有字母都小写,xxxyyyzzz
2、类名、接口名:多单词组成,所有单词首字母大写,XxxYyyZzz
3、变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写,xxxYyyZzz
4、常量名:所有字母都大写,多单词时,每个单词用下划线连接,XXX_YYY_ZZZ
5、命名时,尽量有意义,做到见名知意
6、Java采用unicode字符集,因此标志符也可以使用汉字声明,但是不建议使用。
例子:编写一个变量并输出
class OutPut{
public static void main(String[] args){
  int testNumber=8;
  System.out.println(testNumber);
}
}
注:println输出变量时,不需要用“”。

四、变量

变量的概念:内存中的一个存储区域;该区域的数据可以在同一类型范围内不断变化;变量是程序中最基本的存储单元,包含变量类型、变量名和存储的值
变量的作用:用于在内存中保存数据。
使用变量的注意事项:
1、先声明和赋值,后使用(不声明或不赋值程序会报错);
2、使用变量名来访问这块区域的数据;
3、变量的作用域为其定义所在的一对{}内;
4、变量只有在其作用域内才有效;
5、同一个作用域内,不能定义重名的变量。
定义变量格式:
数据类型 变量名 = 变量值;
例如
int myNumber=1001
也可以
int myNumber;
myNumber=1001;

基本数据类型

不同的数据类型,在内存中分配不同大小的内存空间。
数据类型包括基本数据类型(primitive type)和引用数据类型(reference type)。
基本数据类型:数值型(整数类型(byte、short、int、long)、浮点类型(float、double),字符型(char),布尔型(boolean)。
引用数据类型:类(class)、接口(interface)、数组(array[ ])。
java是强类型,JS是弱类型(自动判断)
整型
byte 1字节=8bit,范围 -128-127
short 2字节 ,范围 -32768-32767
int 4字节 ,范围 -2147483648-2147483647,约21亿
long 8字节 ,范围 -2的63次幂-2的63次幂减1,赋值必须以l或L结尾
bit是计算机中的最小存储单元,byte是计算机中的基本存储单元。1个字节8位。
通常定义整型变量为int。
浮点类型
float 4字节,单精度,尾数可以精确到7位有效数字。很多情况下很难满足需求。float类型结尾要以f或F结尾
double 8字节,双精度,精度是float的两倍,通常采用此类型。
字符型
char 只能是一个字符,赋值时用单引号,可以是英文、中文、日文等;也可以赋值转意字符例如/n(换行)、/t(制表符)等;可以用unicode编码方式赋值,例如u0043表示C,这样的方式很少使用。
字符输出时如果出现乱码,可能是存储Java程序的格式跟JDK输出格式不一样,解决办法为保存Java代码时选择ANSI。
布尔类型:boolean
只能取两个值之一:true、false
布尔型常在条件判断、循环结构使用。
为转意字符,例如要输出“”或n时,在前面加转意字符。
编写小程序输出各种数据
class VariableTest{

public static void main(String[] args){
      byte     testByte = -127;
    short     testShort = -30000;
    int     testInt = 6000000;
    long     testLong = 999999999999l;
    float     testFloat = -12.88f;
    double      testDouble = 8888888.8888;
    char     testChar = 'a';
    char      testUnicodeChar = '\u0043';
    boolean  testBoolean = true;
    
    System.out.println(testByte);
    System.out.println(testShort);
    System.out.println(testInt);
    System.out.println(testLong); 
    System.out.println(testFloat);
    System.out.println(testDouble);
    System.out.println(testChar);
    System.out.println(testUnicodeChar);
    System.out.println(testBoolean);
    if(testBoolean){
    System.out.println("你不能参加单身派对");

} else {

    System.out.println("你可以多谈谈女朋友");

}
}
}

基本数据类型变量间转换

基本数据类型运算规则(7种基本数据类型,不包含boolean)
1、自动类型提升
当容量小的数据类型变量与容量大的数据类型的容量做运算时,结果自动提升为容量大的数据类型,这里的大小指的数据类型的大小。byte、short、char->int->long->float->double。
byte、short、char运算结果(即便相同类型)为int类型
例子
class Boost{
public static void main(String[] args){
char testChar = 'a';
byte testByte = 10;
int testInt = testChar+testByte;
System.out.println(testInt);
}
}
2、强制类型转换
强制类型转换:自动类型提升运算的逆运算
强制转换需要使用强转符()。
强制类型转换采用截断方式(不是四舍五入),可能会有精度损失。
例子
$ vim Force.java
class Force{
        public static void main(String[] args){
                float testFloat=12.9f;
                int   testInt=(int)testFloat;
                System.out.println(testInt);
}
}
$ javac Force.java 
$ java Force
12
注:整型常量,默认类型为int型;浮点型常量,默认类型为double型。

基本数据类型与String间转换

1、String不是基本数据类型,属于引用数据类型,字符串变量;char能且只能有1个字符,String可以为0到多个字符。
2、使用方式与与基本数据类型一致。例如String str=“abcd”,双引号赋值,char是单引号。
3、String可以和8种基本数据类型变量做运算,且只能是连接运算(+)。例如:str=str+“xyz”;
4、运算的结果仍然是String类型。
例子,识别+是加法还是连接(有String类型数据参加就是连接)
$ vim StringTest.java
class StringTest{
public static void main(String[] args){
String stringTest = "hello";
char charTest= 'a';
int intTest = 10;
System.out.println(charTest+intTest+stringTest);
System.out.println(charTest+stringTest+intTest);
System.out.println(charTest+(intTest+stringTest));
System.out.println((charTest+intTest)+stringTest);
System.out.println(stringTest+intTest+charTest);
//不定义变量,直接输出
System.out.println(" ");
System.out.println('' + 't' + '');
System.out.println('' + "t" + '');
System.out.println('' + 't' + "");
System.out.println('' + ('t' + ""));
}
}
$ java StringTest
107hello
ahello10
a10hello
107hello
hello10a

  • *
    93
  • *
    51*
  • *

进制与进制间转换

了解一下,很少用到。
整数有四种表示方式:
二进制(binary):0,1,满2进1,以0b活0B开头。
正数的源码、反码、补码都相同。负数,反码是源码符号位不变,其他位取反,补码是反码+1.计算机底层都以补码的方式来存储数据。
十进制(decimal):0-9,满10进1。
八进制(octal),0-7,满8进1,以数字0开头。
十六进制(hex):0-9及A-F,满16进1,以0x或0X开头,A-F不区分大小写。

目录
相关文章
|
17天前
|
Java API Maven
2025 Java 零基础到实战最新技术实操全攻略与学习指南
本教程涵盖Java从零基础到实战的全流程,基于2025年最新技术栈,包括JDK 21、IntelliJ IDEA 2025.1、Spring Boot 3.x、Maven 4及Docker容器化部署,帮助开发者快速掌握现代Java开发技能。
190 1
|
24天前
|
数据采集 搜索推荐 Java
Java 大视界 -- Java 大数据在智能教育虚拟学习环境构建与用户体验优化中的应用(221)
本文探讨 Java 大数据在智能教育虚拟学习环境中的应用,涵盖多源数据采集、个性化推荐、实时互动优化等核心技术,结合实际案例分析其在提升学习体验与教学质量中的成效,并展望未来发展方向与技术挑战。
|
2月前
|
并行计算 Java API
Java 基础篇完整学习攻略
本教程涵盖Java基础到高级内容,包括模块化系统、Stream API、多线程编程、JVM机制、集合框架及新特性如Records和模式匹配等,适合零基础学员系统学习Java编程。
67 0
|
2月前
|
前端开发 Java API
新手 Java 学习资料结合最新技术的精选推荐及高效学习资源参考
本文为新手推荐了涵盖Java基础到最新技术的学习资料,包括官方文档、在线课程、书籍、学习网站及实践平台,帮助系统掌握Java编程,并通过Spring Boot实战提升开发能力。
101 1
|
2月前
|
NoSQL Java 数据库
Java 全栈学习超全面知识图谱构建完整 Java 知识体系
本文全面讲解Java核心技术体系,涵盖基础语法、面向对象、集合框架、主流框架(Spring、Spring Boot、MyBatis)及三大实战项目(微服务电商、响应式博客、企业后台系统),助你系统掌握Java全栈开发技能。
138 1
|
2月前
|
存储 算法 安全
JAVA 八股文全网最详尽整理包含各类核心考点助你高效学习 jAVA 八股文赶紧收藏
本文整理了Java核心技术内容,涵盖Java基础、多线程、JVM、集合框架等八股文知识点,包含面向对象特性、线程创建与通信、运行时数据区、垃圾回收算法及常用集合类对比,附有代码示例与学习资料下载链接,适合Java开发者系统学习与面试准备。
598 0
|
30天前
|
存储 搜索推荐 安全
Java 大视界 --Java 大数据在智能教育学习效果评估与教学质量改进中的应用(209)
本文探讨了 Java 大数据在智能教育中的创新应用,涵盖学习效果评估、教学质量改进及个性化教学方案定制等内容,结合实战案例与代码解析,展现技术如何赋能教育智能化转型。
|
3月前
|
前端开发 Java 数据库
2025 年 Java 学习完整步骤及详细路线指南
本教程涵盖Java从基础到高级的完整学习路径,包括环境配置、语法基础、面向对象编程、集合框架、多线程、网络编程、数据库操作、Spring Boot、微服务架构及项目实战。通过系统学习与实操,助你全面掌握Java核心技术与企业级应用开发。
369 0
|
3月前
|
Oracle Java 关系型数据库
java 入门学习视频_2025 最新 java 入门零基础学习视频教程
《Java 21 入门实操指南(2025年版)》提供了Java最新特性的开发指导。首先介绍了JDK 21和IntelliJ IDEA 2025.1的环境配置,包括环境变量设置和预览功能启用。重点讲解了Java 21三大核心特性:虚拟线程简化高并发编程,Record模式优化数据解构,字符串模板提升字符串拼接可读性。最后通过图书管理系统案例,展示如何运用Record定义实体类、使用Stream API进行数据操作,以及结合字符串模板实现控制台交互。该指南完整呈现了从环境搭建到实际项目开发的Java 21全流程实
102 1
|
3月前
|
Java
银行转账p图软件,对公转账截图生成器,java版开发银行模拟器【仅供学习参考】
这是一套简单的银行账户管理系统代码,包含`BankAccount`和`BankSystem`两个核心类。`BankAccount`负责单个账户的管理

热门文章

最新文章