文章目录
java概述
一.计算机语言
人与计算机之间进行信息交流沟通的一种特殊语言
计算机语言中也有字符,符号等等
常见的计算机语言如C,C++,C#,JAVA
二.java的介绍
java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了其难以理解的多继承,指针等概念,因此java语言具有功能强大和使用简单的特点.
三.常用DOS命令
Java语言的初学者,学习一些DOS命令,会非常有帮助。DOS是一个早期的操作系统,现在已经被Windows系统取代,对于我们开发人员,目前需要在DOS中完成一些事情,因此就需要掌握一些必要的命令
进入DOS命令窗口
按下windows+R键盘,打开运行窗口,输入cmd回车,进入到DOS操作窗口。
打开DOS命令行后,看到一个路径c:/user就表示我们现在操作的磁盘是c盘。
四.第一个java程序
class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
注意事项:文件名保持和类型一致
五.编码规范
书写格式
层级之间必须缩进(Tab:一个制表位)
一行只写一句代码
文档注释
// 单行注释
/多行注释/
/*文档注释/
标识符命名
语法规定:
可以由字母,数字,_,$组成,但不能以数字开头;
不可以与关键字,保留字重名;
约定成俗:
望文生义,见名知意;
类名由单个或多个单词组成,每个单词首字母大写(大驼峰命名法)
函数名,变量名由单个或多个单词组成,首单词首字母小写,拼接词首字母大写(小驼峰命名法)
包名全小写,可以使用特殊字符".",但是不能以"."开头或结尾;
常量全大写,单词之间用"_"连接;
语言基础
一.变量的概念
计算机内存中的一块存储空间,是存储数据的基本单元
1.变量三要素
数据类型
数据名称
初始值
2.变量定义流程
声明:
数据类型 变量名;
int i;//开辟整数变量空间
赋值:
变量名 = 初始值;
i = 100;//将整数值赋给变量
应用:
System.out.println(i);//打印输出
注意:java是强类型语言,数据类型必须和变量类型保持一致
二.java语言中的数据类型划分
可以分为基本数据类型和引用数据类型;
基本数据类型
整数: byte 1个字节 取值范围-128~127
short 2个字节
int 4个字节
long 8个字节
浮点:float 4个字节
double 8个字节
字符:char 2个字节 'A' = 65 'a' = 97 '0' = 48
布尔:Boolean 1个字节 取值范围:false/true
三.数据类型转换
分为自动类型转换和强制类型转换
class TestForceConvert{
public static void main(String[] args){
int i = 100;
byte b = (byte)i;//强制类型转换
}
}
强制类型转换规则
数据在目标类型取值范围内,数据完整
int i = 100;
byte b = (byte) i;
//b = 100
数据大于目标类型取值范围,数据截断(可能变为负数)
int i = 128;
byte b = (byte)i;
//b = -128
小数强转整数,数据截断
double d = 12.34;
int i= (int)d;
//d = 12;//小数位舍掉
字符整数互转,数据完整
char c = 'A';
int i = c;
//i = 65
布尔类型的取值范围是true和false,不可与其他类型数据互转
三.运算符
算数运算符
+ 加,求和
- 减,求差
* 乘,求积
/ 除,求商
% 模,求余
++ 递增,变量值+1
-- 递减,变量值-1
赋值运算符
= 直接赋值
+= 求和后赋值
-= 求差后赋值
*= 求乘后赋值
/= 求商后赋值
%= 求余后赋值
比较运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于
判断运算符
& 和 && 与(并且) 两个操作数,同时为真,结果为真
| 和 || 或(或者) 两个操作数,有一个为真,结果为真
! 非 意为不是,真既是假,假即是真
注意事项:
&和&&的区别:
&&连接的表达式,如果左边的表达式为false,右边的表达式就不再执行
|和||的区别:
||连接的表达式,如果左边的表达式为true,右边的表达式就不再执行
例如:
int x = 1,y = 1;
if(x++ == 2 & ++y==2)
{
x =7;
}
System.out.println(“x=”+x+",y="+y); //x=2,y=1
三元运算符
(表达式) ? 语句1:语句2;
表达式为true,则执行语句1;
表达式为false,则执行语句2;
class Text{
public static void main(String[] args){
int a = 2;
int b = 5;
int max =(a > b) ? a : b;
System.out.println("两个数据中最大值是"+max);
}
}
知识拓展:键盘录入的操作步骤
导包 import java.util.Scanner;
创建键盘录入 Scanner sc = new Scanner(System.in);
提示并输入数据 System.out.println("请输入一个数据");
int x = sc.nextInt();
使用键盘录入比较三个数中的最大值
import java.util.Scanner;
class TestDemo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数据:");
int x = sc.nextInt();
System.out.println("请输入第二个数据:");
int y = sc.nextInt();
System.out.println("请输入第三个数据");
int z = sc.nextInt();
int max = (a > b) ? ((a >c) ? a : c) : ((b > c) ? b : c);
System.out.println("最大值是"+max);
}
}
选择结构
if语句
if (布尔表达式){
//代码块
}
若布尔表达式为true,则运行代码块
若布尔表达式为false,则跳过代码块执行下边的代码
if(布尔表达式1){
//代码块1
}else if(布尔表达式2){
//代码块2
}else{
//代码块3
}
使用if语句判断三个数中的最大值
import java.util.Scanner;
class HomeWork{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数据");
int x = sc.nextInt();
System.out.println("请输入第二个数据");
int y = sc.nextInt();
System.out.println("请输入第三个数据");
int z = sc.nextInt();
int max;
if (x > y){
if (x > z){
System.out.println("最大值是:"max);
}else{
System.out.println("最大值是:"max);
}
}else {
if(y > z){
System.out.println("最大值是:"max);
}else{
System.out.println("最大值是:"max);
}
}
}
}
switch语句
语法:
switch(变量/表达式){
case 值1:
逻辑代码1;
case 值2:
逻辑代码2;
case 值3:
逻辑代码3;
default:
逻辑代码n
}
例题:输入一个月份,判断季节
import java.util.Scanner;
class SwitchDemo{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个月份:");
int x = sc.nextInt();
switch(x){
case 12:
case 1 :
case 2 :
System.out.println("冬季");
break;
case 3 :
case 4 :
case 5 :
System.out.println("春季");
break;
case 6 :
case 7 :
case 8 :
System.out.println("夏季");
break;
case 9 :
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("非法数据!!!");
}
}
}
注意:当匹配的case执行后,不会自动退出整个结构,而是继续向下执行
break;可在匹配的case执行后跳出整个结构
循环语句
for循环
语法:
for(初始部分; 循环条件; 迭代部分){
//循环操作
}
例题:使用for循环实现1~100内偶数的和
class ForDemo{
public static void main(String[] args){
int sum = 0;
for (int i = 1; i <= 10; i++){
if(i % 2 == 0){
sum = sum + i ;
}else{
sum = sum + 0;
}
}
System.out.println(sum);
}
}
例题:请在控制台输出满足如下条件的五位数
个位等于万位
十位等于千位
个位+十位+千位+万位=百位
class ForDemo1{
public static void main(String[] args){
for (int i = 10000 ; i < 100000 ; i++){
int g = i % 10;
int s = (i / 10) % 10;
int b = (i / 100) % 10;
int q = (i / 1000) % 10;
int w = i /10000;
if (g == w && q ==s && g + s + q + w == b){
System.out.println(i);
}
}
}
}
例题:输出九九乘法表
class ForDemo2{
public static void main(String[] args){
for (int i = 1; i<=9; i++){
for (int j = 1; j <= i ; j++){
System.out.print(i + "*" + j + "=" + (j * i)+" ");
}
System.out.println();
}
}
}