首页 > 编程语言 >Java基础(一)

Java基础(一)

时间:2024-01-24 21:44:08浏览次数:35  
标签:Java String int 基础 数组 集合 java

文章目录

 

第一章、java环境搭建

1.1、Java介绍

1.1.1、 Java开发平台

Java SE(java standard edition),java平台标准版,主要编写桌面应用程序
Java EE(java enterprise edition),java平台企业版,用于构建企业级应用。所谓企业级应用是指那些为商业组织、大型企业而创建的应用系统,例如:电信的“计费系统”、银行的“网银系统”、企业中的“客户关系管理系统”等等。
Java ME(java micro edition), java平台微型版,随着Android智能平台的迅速普及,java me已经走向淘汰

1.1.2、 Java开发环境搭建

jdk,Java Development Kit,Java开发工具包,里面包含Java开发用到的工具类
jre,Java Runtime Environment,Java运行时环境,运行java代码所需要的环境

下载:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
先卸载:
控制面板----卸载程序—

 


安装:
注意:安装路径不能有中文、特殊字符(中文字符)

 

 

安装jre

 


测试一下:
打开cmd控制台:
右击开始按钮----运行----输入cmd----确定

 


说明windows操作系统没有找到java开发环境

需要配置环境变量
操作系统在运行时,需要的一些配置参数,默认情况下,当我们运行一个软件时,会先去环境变量的Path中找该软件所在的目录
配置环境变量:

 


如果提示下面的内容,说明安装成功

1.1.3 、Java专业术语

  • jdk,Java Development Kit,Java开发工具包,里面包含Java开发用到的工具类
  • jre,Java Runtime Environment,Java运行时环境,运行java代码所需要的环境
  • JVM,Java Virtual Machine,Java虚拟机
  • javac.exe,java编译器,用于将高级源代码文件转换为字节码文件
  • java.exe,java解释执行器,用于将字节码文件通过java虚拟机解释并执行起来

1.1.4、 第一个Java程序

编写java代码的步骤:

1.新建记事本文档,将文件名修改为:xxx.java
注意:java的文件名要采用驼峰法的命名,每个单词的首字母必须大写

 

2.使用记事本打开该文件,并编写HelloWorld类

 


3.先编译
将高级的源代码解释成计算机能够识别的字节码文件(二进制文件)
javac 文件名

 


4.执行执行编译的结果
java 文件名(不包含后缀)

 

1.1.5、 练习

1.卸载java开发环境、删除java环境变量、删除创建的文件夹

2.重新安装java开发环境
要求:
jdk安装到D:/java_env/java8/jdk目录下
jre安装到D:/java_env/java8/jre目录下
如果没有D盘,把上述路径中的D改为C

然后添加到环境变量

3. 创建Dog类文件,并在该文件中输出”小狗汪汪叫”

1.2、main方法

1.语法格式
public static void main(String[] args){

}

1.3、变量

1.3.1、 变量介绍

度,尺子
量,容器
衡,称,重量单位

量,古代的一种容器

 


在java中,变量就是存储数据的容器,由于该容器的内容可以变化,所以称为变量

1 + 1 = ?
a + b = ? a代表数字的:是一个变量

变量,本质上就是在内存中申请的一块区域,通过变量名找到这个区域
由于变量中存储的内容不同,所占内存空间的大小也就不一样,在java中通过数据类型约束内存空间的大小、结构
例如:
String 类型表示字符串,只能存储字符类型的数据
int表示整数类型,只能存储整数类型的数据
double表示小数,只能存储小数类型的数据

1 ==> 1
2 == 10
3 == 11
4 == 100
255 == 11111111
Int类型 表示一般用的整数 ==> 32位 , 255255255*255

 


声明变量语法:
数据类型 变量名 = 初始值;

初始值可以省略
=,表示赋值运算符,表示将将=右边的数据存储到左边的容器(变量)里面
例如:
int age = 20; 表示将20存储到age变量

输出变量里面的内容
System.out.println(age);

1.3.2 、练习

有3瓶酒,1瓶红酒,1瓶白酒,要求使用java变量的相关知识,将白酒和红酒对调一下

 

1.3.3、 变量名规范

变量名采用小写,尽量使用英文单词,或拼音代替
变量名不要使用java中的关键字,例如:public、class、void等
望文知意,通过变量名知道变量的作用、意义

1.3.4 、注释

java中的注释分为:
注释是给程序员看的,对代码进行说明,java编译器会忽略注释的内容

单行注释: // 注释的内容(// 和 注释内容之间有且只有一个空格)
多行注释: /* 注释的内容 */

1.4、数据类型

在java中数据类型,有2种:
1.基本数据类型:包括:整数、小数、布尔、字符
2.引用数据类型(数组、对象、接口等)

1.4.1、 整数

了解计算机中单位:
1TB = 1024GB
1GB = 1024MB
1MB= 1024KB(Kilo千)
1KB =1024Byte(字节)

byte,在内存中占1个字节(Byte),表示范围:-128 ~ 127
short,在内存中占2个字节,大概3万多
int,在内存中占4个字节,20多亿
long,在内存中占8个字节

通常int使用比较多

 

1.4.2、 直接量

byte b1 = -128, -128称为直接量
对于整数类型的直接量,默认是int类型,而int类型表示的范围:20多亿
如果希望表达的是Long类型的话,在直接量的后面加上L 或 l(小写的L)

 

1.4.3 、小数

float,占4个字节
double,占8个字节

对于小数类型的直接量,默认是double类型,如果希望表达的是float类型,需要在小数后面加上 F 或 f

 

1.4.4、 布尔类型

boolean
在java语言中,用于描述真假信息的数据类型是:boolean,只有两个值:
.true、false
.在内存中占1个字节空间

 

1.4.5、 字符

char
在java中,char类型(字符类型)描述单个字符,例如:’a’ ‘中’等
注意:字符类型必须使用 单引号 包裹

计算机底层只认识 01 二进制,整数 10 容易计算二进制数字
但是字符a如何计算二进制
并不是把a字符存储到内存中,而是在ASCII码表中建立字符和整数映射关系
a----97
计算机存储时,存储的是97,将来获取的也是97,再通过97映射关系找到对应的a字符

1.5、数据类型转换

自动类型转换
从小范围向大范围的转换,这个是编译过程自动完成的

强制类型转换
语法格式:目标类型 变量名 = (目标类型)原变量;
例如:
int a = 5;
double d1 = (double)a;

 

第二章、运算符

2.1、算数运算符

( + -* / %)
%,两数相除,取余数,例如: 10 % 3 = 1
/,除法运算,注意:结果和参与运算数字的类型保持一致
例如:int a = 10; int b = 3; a / b = 3;

+法运算,除了表示 四则运算之外,还用来表示字符串连接

 


小练习:

 

2.2、比较运算符

比较运算符:> < == >= <= !=
比较运算符的结果,都是布尔类型,例如:
5 > 3,理解:5是否大于3

 

2.3、自增减运算符

++,自增运算符,让当前的变量的值 + 1
–,自减运算符,当前变量的值 – 1

前++,前–,先值增,再运算
后++,后–,先运算,再值增

 

2.4、逻辑运算符

逻辑运算符有3个:
&&
逻辑与“并且”,运算符两边的条件都成立的时候,整个表达式的结果才成立
同真为真,一假为假

 


|| 逻辑或“或者”,运算符两边的条件有一个成立,整个表达式的结果就成立
一真为真,同假为假

 

! 取反,真为假,假为真
逻辑运算符,存在短路特性:
其中,对于逻辑与来说,如果第一个条件为false,则后面的表达式不再执行
其中,对于逻辑或来说,第一条件为true时,则后面的表达式不再执行

 

2.5、三目运算符

语法格式:条件表达式 ? 表达式1 : 表达式2;
描述:如果 ? 前面的条件表达式成立(true),则执行表达式1,如果前面的表达式不成立,则执行表达式2

举例:
小孩子如果大于等于18岁,则可以光明正大上网,如果小于18岁,则偷偷摸摸上网;

 


小练习:
1.提示用户输入一个正整数,判断并输出是否为二位数

 


2.提示用户输入考试成绩,判断并提示成绩是否及格

 


3.提示用户输入一个整数,并判断该整数是负数还是非负数

2.6、赋值运算符

=,将 = 右边的值 赋值给左边的变量

java还提供了如下赋值运算符:
+=、-=、*=、/=、%=

以 += 为例进行演示
int a = 10;
a += 5; // 将a变量 + 5之后,再赋值给a变量,等价于:a = a + 5;

 


经典面试题:
比较 a += 5 和 a = a + 5的区别
a += 5,隐含了强制类型转换,严格来说等价于:a = (byte)(a + 5)

 

2.7、运算符优先级

同一级别中, * / 优先级要高于 + -
乘除优先级 > 加减 > 赋值运算符
int c = 5 + 2 * 4;

可以使用 () 提升优先级,例如:
int c = (5+2) * 4
就会先运算() 里面的表达式

第三章、分支结构

3.1、流程控制介绍

Java三大语句结构:顺序结构、分支结构、循环结构
代码在执行过程汇总,可能会遇到各种不同的情况,每一种情况,我们就称为一个分支。

 

分支分为:单路分支、双路分支、多路分支

3.2、单路分支

代码执行过程中,只遇到一种情况,只做一次判断

语法格式:
if(条件表达式){
语句块;
}
如果条件表达式成立(条件表达式的结果为 true),则执行语句块

举例演示:

 

小练习:
提示用户输入四个整数,然后求出其中的最大值并打印

 

3.3、双路分支

双路分支,代码在执行过程中,有两种情况

语法格式:
if(条件表达式){
// 代码块1
}else{
// 代码块2
}

执行流程:
1.先判断条件表达式是否成立(是否为true)
2.如果成立(true),则执行代码块1
3.如果不成立(false),则执行代码块2

举例说明:

 

3.4、多路分支

代码在执行过程中,出现多种情况,称为多路分支

语法格式:
if(条件表达式1){
//代码块1
}else if(条件表达式2){
//代码块2
}else if(条件表达式3){
//代码块3
}…
else{
// 代码块4
}

执行流程:
1.先判断条件表达式1是否成立(true)
2.如果成立,则执行代码块1
3.如果不成立,则执行条件表达式2
4.如果条件2成立,则执行代码块2,如果不成立,则继续判断条件3
5.以此类推
6.如果上述条件都不成立,则执行else里面的代码

代码演示
如果我现在有超过50000块钱,我就去泰国旅游
如果我现在有超过5000块钱,我就去大草原大口吃肉,大碗喝酒
如果现在有超过1000块钱,去小树林一日游
如果连1000都没有,好好撸代码

 

3.5、switch…case多路分支

switch(condition ){
case 值1:
代码块1;
break;
case 值2:
代码块2;
break;

default:
代码块3;
break;
}

执行流程:

1.先判断switch中condition条件的值
2.如果condition的值等于值1,则执行第一个case语句块
3.如果condition的值等于值2,则执行第二个case语句块
4…
5.如果case值都不等于condition变量,则执行default

if、else 和 switch case的区别
if(age > 18),if的条件表示:区间、范围
switch…case 固定的几个点,例如:方向、星期()

如果case中,没有break,会一直向下执行,直到遇到break为止,这种情况我们称为”case 穿透”

 

3.6、练习

提示用户输入一个表示年份的整数,判断这一年是否是闰年。
如何判断 一个年份是否是闰年:

  1. 如果这个年份能够被4 整除,且不能被100 整除,则这一年是闰年。
    例 如,1996 年是闰年,而相应的,1993 年就不是闰年。
  2. 如果这个年份能够被100 整除,则这个数必须要能被400 整除,才是闰 年。
    例如,2000 年是闰年,1900 年不是闰年。

     

第 4 章、循环结构

4.1、循环介绍

循环,又称 重复执行
计算机最强大的功能之一就是:帮我们做一些重复性的工作

for循环,又称为计数循环,明确要循环多少次
while循环,又称为条件循环,只要符合while里面的条件,就重复执行

4.2、for循环

语法格式:
for(初始变量; 条件表达式; 初始变量修改表达式){
代码块1;
}
代码块2

执行流程:
1.先在内存中初始一个变量
2.判断初始变量是否符合条件表达式
2.1符合条件,执行代码块1; 修改初始变量
2.2不符合条件,退出循环,执行代码块2

代码演示:

 

4.3、课堂练习:

计算1-100之间数字的和
计算1-10之间的累积并打印出来(123*…10)
打印所有三位数的水仙花数(所谓的水仙花数是指,一个数字的个位、十位、百位的立方和等于这个数本身)

 

4.4、无限循环

无限循环,又称为 ”死循环”
for(;

标签:Java,String,int,基础,数组,集合,java
From: https://www.cnblogs.com/R-bear/p/17985930

相关文章

  • 韩顺平java基础-13-常用类
    韩顺平java基础-13-常用类常用类包装类分类装箱和拆箱//自动装箱intn1=100;Integerinteger=intn1;//自动调用Integer.valueOf(n1)的方法//自动拆箱intn2=integer;//自动调用integer.intValue的方法包装类与String转换包装类型--->String类toString()......
  • NanoFramework操作ESP32(一)_基础元器件篇(二十二)_DHT11温湿度传感器
    一、元器件介绍1、针脚用途编号名称功能1VCC电源正2TRIG触发控制信号输入3ECHO回响信号输出4GND电源地2、电气参数 二、示例代码1、代码:元器件的针脚ESP32模块的针脚VCC;供电脚+5VTRIG;发送脚IO17ECHO;接收脚IO16GND......
  • vue基础指令
    Vue基础指令CDN使用VUE对于制作原型或学习,你可以这样使用最新版本:<scriptsrc="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>对于生产环境,我们推荐链接到一个明确的版本号和构建文件,以避免新版本造成的不可预期的破坏:<scriptsrc="https://cdn.jsdelivr......
  • Linux网络编程基础API
    目录socket地址API创建socket命名socket监听socket接收连接发起连接关闭连接数据读写带外标记地址信息函数socket选项网络信息APIsocket地址API主机字节序和网络字节序在Linux系统中,主机字节序(HostByteOrder)和网络字节序(NetworkByteOrder)是两个重要的概念。主机字节序......
  • Linux基础46 ansible概述, 结构, 安装与配置文件, 主机清单配置
    Ansible学习一、Ansible概述1.什么是ansible?Ansible是一个自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。2.自动化工具1.puppet学习难,安装ruby环境难,没......
  • linux 安装多版本java,并可切换版本
    我多版本切换,省事操作。配置:/etc/profileexportJAVA_HOME=/usr/java/jdk/jdk1.8.0_201exportJRE_HOME=/usr/java/jdk/jdk1.8.0_201/jreexportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH#切换1.8......
  • Java抛出异常且没有被捕捉的情况下,后面的代码还能运行吗?
    Java有try-catch-finally的异常处理机制,包括以下几种情况:1、不抛出异常,try里面的代码、finally里面的代码、finally以后的代码都将正常执行,而catch里面的代码不会执行。2、抛出异常且被catch捕获,try里面的代码部分执行,catch里面的代码、finally里面的代码、finally以后的代码都将......
  • Python三方库:Pika(RabbitMQ基础使用)
    Python有多种插件都支持RabbitMQ,本文介绍的是RabbitMQ推荐的Pika插件。使用pip直接安装即可pipinstallpika。一、RabbitMQ简介1.MQ简介MQ(MessageQueue,消息队列),是一个在消息传输过程中保存消息的容器,多用在分布式系统之间进行通信。MQ优势应用解耦:提高系统容错性和可......
  • java反射&代理面试知识
    java反射何为反射?如果说大家研究过框架的底层原理或者咱们自己写过框架的话,一定对反射这个概念不陌生。反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。......
  • Java将数字转换为人民币大写
    Java将数字转换为人民币大写十千亿以内:RMBConversion.javapublicclassRMBConversion{privatestaticfinalString[]CN_NUM={"零","壹","贰","叁","肆","伍","陆","柒","捌",......