Java是一种广泛使用的编程语言,它由Sun Microsystems公司在1995年推出,并随后被Oracle公司收购。Java语言以其简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程和动态性等特点而闻名。它支持跨平台应用程序的开发,并且是Web应用程序的首选开发语言。
Java语言的特点包括:
- 简单性:Java的语法与C和C++相似,使得大多数程序员能够很容易地学习和使用。
- 面向对象:Java提供了类、接口和继承等面向对象的特性,支持单继承和多接口继承。
- 分布式:Java支持Internet应用的开发,提供了网络应用编程接口(Java Net)。
- 健壮性:Java不使用指针,而是使用引用,并提供自动分配和回收内存空间的功能。
- 安全性:Java提供了安全机制,如代码签名和数字证书,以防止恶意代码的执行。
- 平台独立与可移植性:Java程序在不同的操作系统上运行时,不需要重新编译。
- 多线程:Java支持多线程操作,允许多个任务在同一应用程序中并发执行。
- 动态性:Java支持动态绑定,使得程序在运行时可以更改行为。
Java平台分为三个主要版本:
- Java SE (J2SE):标准版,用于开发桌面应用程序、Web应用程序等。
- Java EE (J2EE):企业版,用于开发企业级应用程序,如Web服务、企业应用等。
- Java ME (J2ME):微型版,用于开发移动设备上的应用程序。
Java技术广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,并且拥有全球最大的开发者专业社群。自面世以来,Java技术不断更新和扩展,成为全球云计算和移动互联网产业环境下的一种重要技术。
对于学习Java这门课程,我们对此在学习了其他语言的基础上是有一些优势的,不会像个小白一样的去学习。为此,我们在学习Java的课程上,需要对课程的内容进行了解。
变量和常量
首先变量和常量这一内容很重要,那我们就要先了解关键字和保留字,这是很重要的,像public,class,static,void等等,关键字是Java中预先定义好的一些特别有意义的单词,它们是构成Java语法的核心。而保留字则是Java预先保留的,在以后的版本中可能使用到的特殊标识符,在定义类名,变量名,方法名时,不可以使用关键字和保留字。
而标识符的命名和规范要注意了,标识符是给Java中的类,方法,变量,包命名的符号,而标识符的使用规则包括三点。
1:标识符只能由字母,数字,下划线,美元符号组成,并且不能以数字开头。
2:Java标识符大小写敏感,长度无限制。
3:标识符不可以是Java关键字和保留字。
变量
变量是可以改变值的量,在声明一个变量之后,它的值就可以被改变任意次,但是在一个代码块中,一个变量只能出现一次,不能同名,因此在声明变量时,要注意。而在声明变量之后,要对变量进行赋值才能使用,且赋值的类型必须和声明的数据类型一致。
例如
package com.yyds.umit2,demo;
public class Demo1Variable{
public static void main(String[] args) {
int num=10;
double num2=3.14;//long数据类型以L结尾
long num3=100L;
float num4=3.14F;
char c='迎';
System.out.println(num);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
System.out.println(c);
}
}
常量
常量和变量的语法相似,只在变量声明语法前加上final关键字即可。常量的命名一般要求所以字母大写,单词之间使用“ -”隔开。常量也可以先声明后赋值,只要保证一个常量自始至终只能被赋值一次就好。常量声明语法如下。
final 数据类型 常量名=常量值;
变量的类型转换
在我们使用常量和变量的时候,我们需要对变量的类型进行转换,这就需要我们进行学习。
在学习Java时,,尤其是在执行赋值运算和算术运算时,要保证参与运算的变量或者常量的数据类型保持一致,但实际中存在诸如整数与小数一起计算等,为了解决数据类型不一致的问题,Java中提供了数据类型转换机制。
主要分为两种:自动转换类型(隐式转换)和强制类型转换(显式转换)。
首先是自动转换类型,在Java,占用字节数少的数据类型的值可以直接赋值给占用字节数多的数据类型的变量,比如short类型的值可以直接赋值给int类型的变量,或者把int类型的值赋值给double类型的变量,列如,
int num1=10;
double num2=num1;
但是有个特例:int类型的常量可以直接赋值给char,short,byte,只要不超过它们能够表示的值的范围即可。
而强制类型转换则可以强制性地将占用字节数多的数据类型的数据,但这个转换的过程可能存在数据精度丢失的问题。强制类型的转换格式如下:
数据类型 变量名=(数据类型)变量值;
代码如下:
package com.yyds.unit2.demo;
public class Demo3Convert {
public static void main(String[] args) {
int num1=10;//int类型可以直接赋值给double,因为double的容量比int大
double num2=num1;
System.out.println("num1:"+num1);
System.out.println("num2:"+num2); //将容量大的转换给容量小的,使用强制类型转换
float num3=(float) num2;
System.out.println("num3:"+num3);
//算数过程发生隐式转换
//num1与num3的数据类型不一致,会将num1隐式转换成float,保证两个float类型能够运算
//接着计算出的结果也是float,会将它隐式转换成double
double num4=num1+num3;
System.out.println("num4:"+num4);
}
}
Scanner的使用
我们需要借助Scanner来通过键盘输入一些内容。Scanner类在Java.util包下,使用时需要导包,但是开发工具会自动导包,不需要我们去操作。首先使用new关键字创建Scanner的对象,再通过Scanner类的next()方法获取用户再控制台输入的字符串,通过nextByte(),nextShort(),nextInt(),nextLong(),nextFloat(),nextDouble()来获取用户在控制台输入的数据类型。
例如
package com.yyds.util2.demo;
import java.util.Scanner;
public class Demo4Scanner{
public static void mian (String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str=sc.next();
System.out.println("你输入的字符串为:"+str);
System.out.println("请输入一个整数:");
int num=sc.nextInt();
System.out.println("你输入的整数为:"+num);
}
}
运算符与表达式
算术运算符
算术运算符是Java中最简单,最常用的运算符,它主要提供了数值的加减乘除以及求余的功能。同时还分为一元运算符和二元运算符。
一元运算符包含
1.num++(自增运算符,先返回num的值,再将num加1)
2.++num(自增运算符,先将num加1,再返回num的值)
3.num--(自增运算符,先返回num1的值,再将num减1)
4.--num(自增运算符,现将num减1,再返回num的值)
赋值运算符
赋值运算符就是将值赋值变量,常见的赋值运算符有=,+=,-+,*=,/=,%=等
例如对实现交换两个数的值,并将交换后的值分别加2
package com.yyds.unit2.demo;
public class Demo6Operator{
public static void main(String[] args){
int num1=7;
int num2=3;
System.out.println("交换前:num1="+num1+",num2="+num2);
int num3=num1;
num1=num2;
num2=num3;
System.out.println("交换后:num1="+num1+",num2="+num2);
num1+=2;
num2+=2;
System.out.println("加2后:num1="+num1+",num2="+num2);
}
}
关系运算符
需要比较两个数值的大小时,可以使用关系运算符,列如
>大于,<小于,==等于,>=大于或等于,<=小于或等于,!=不等于。
逻辑运算符
逻辑运算符一般和关系运算符一起使用,表示与,或,非,的关系。
逻辑运算符包含
&与运算,当两边表达式都为true时,结果为true,否则结果为false
|或运算,当两边表达式都为false时,结果都为false,否则结果为true
^异或运算,当两边结果不同时,结果为true,否则结果为false
!非运算,如果表达式结果为true,那么计算结果为falsse,反之亦然
&&短路与运算
||短路或运算
运算符的优先级
1.()
2.+,-
3.++,--,!
4.*,/,%
5+,-
6.>>,>>>,<<
7.>,<,>=,<=
8.==,!=
9.&
10.^
11.|
12.&&,&
13.||,|
14.?:
15.=
数组
数组是我们在写代码的时候经常用到的,这能让我们的运算更好的实现。
数组就是一种能够存放相同数据类型的有序集合,或者说它是一个存储数据的容器,可以创建一个指定长度的数组,这样就可以存储对应条数的数据了。
在Java中,数组的创建方法分为三种,
数据类型[] 数据名=new 数据类型[数组长度];
数据类型[] 数据名=new 数据类型[]{元素1,元素2,元素3.};
数据类型[] 数据名={元素1,元素2,元素3};
我们也可以通过索引创建数组操作元素
创建一个长度为n的数组后,它的索引范围是[0,n-1];
package com.yyds.util2.demo;
public static void main(String[] args) {
int[] arr=new int[3];
arr[]=10086;
arr[]=10010;
arr[]=10000;
//根据索引获取元素
int num2=arr[2];
int num1=arr[1];
int num0=arr[0];
System.ou.println("num0:"+num0);
System.ou.println("num1:"+num1);
System.ou.println("num2:"+num2);
}
}
而数组中还有存在多维数组,比如二维数组,语法格式如下:
数据类型[][] 数据名=new 数据类型[m][n];
数据类型
Java是一门强类型语言,每个变量都需要指定数据类型。java数据类型分为基本数据类型和引用数据类型。而基本数据类型含有数值型,数值型又分为整型(byte,short,int,long),浮点型(float,double),数值型外还有字符型(char),布尔型(booleam),引用数据类型有类,数组,接口等。并且这些数据类型的占用空间也是有限的,比如int占用4B,long占用8B等。
程序控制
流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻模块。
其流程控制方式采用结构化程序设计中规定的三种基本流程结果,即:
顺序结构:程序从上到下逐行地执行,中间没有任何判断和跳转。
public class SequenceStructure{
public static void main(String[] args) {
int i=10;
System.out.println(i);
i+=100;
System.out.println(i);
}
}
分支结构:根据条件,选择性地执行某段代码;有if,else,switch-case两种分支语句。
public class if_ElesDemo{
public static void main(String[] args){
int age=75;
if(age<0){
System.out.println("不可能");
}else
{
System.out.println("活的有点久了");
}else
{
System.out.println("年龄为:"+age);
}
}
}
循环结构:根据循环条件,重复性的执行某段代码,有while,do,,,,while,for三种语句
java是一门非常值得去学习的语言,它能够很好地对你的能力有所提升,让你的算法,写代码的能力也能进步。
本文介绍了Java编程语言的核心特性,包括其简单性、面向对象、分布式特性等,详细讲解了变量、常量、类型转换、Scanner的使用、运算符和表达式,以及基本的程序控制结构。
5万+





