前言

我认为编程语言学习不适合速成,除非个人只想成为一个写代码的机器,所以不论如何都应该学习基础知识,就好像很多编程学习前都会先学习c语言,c语言就好像是引路人一样,让你认识什么是机器语言。(接下来的叙述将进行在有一点点机器语言的基础上)

目录

前言

1. 基本数据类型

1.1 Java中的基本数据类型

2. 运算符

3.注释

4. 基本语法

4.1 变量的声明

4.2. 如何进行算数运算

4.3.  条件判断语句

4.3.1  if语句

4.3.2  switch语句

4.4.  循环语句体

4.4.1 for循环语句

4.4.2 while循环语句

4.4.3 do ..... while 循环语句

5. Scanner类获取用户输入


1. 基本数据类型

在认识基本数据类型之前我们先简单认识一下计算机存储单元:

1B(字节) =  8bit

1KB = 1024 B

1MB = 1024 KB

1GB = 1024 MB

1B = 1024 GB

在计算机中不论是内存还是硬盘,其最小的信息单元叫“位”,又叫比特位(bit),而计算机最基本的存储单元叫字节(byte),用大写字母B表示。

1.1 Java中的基本数据类型

从分类的角度:

  数据类型     基本数据类型 整数(byte,short,int,long)
浮点数(float , double)
字符(char)
布尔(boolean){true ,false 只有这两个数据}
引用数据类型 类、接口、数组

补充说明一个常用类型:字符串类型 String ,这是一个引用类型,也是一个类。

关键字详细信息

数据类型        关键字             内存占用               取值范围
整数类型         byte                  1                         -128~127
                       short                  2                         -32768~32767
                       int                      4                         -2的31次方到2的31次方-1
                       long                   8                         -2的63次方到2的63次方-1

浮点类型        float                   4                          负数:-3.402823E+38到-1.401298E-45

正数: 1.401298E-45到 3.402823E+38

double                 8                         负数:-1.797693E+308到-4.9000000E-324

正数:4.9000000E-324 到1.797693E+308
字符类型        char                    2                         0-65535

说明: e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。在java中整数默认是int类型,浮点数默认是double类型。


2. 运算符

符号

类别

说明 符号 类别 说明
+ 算数运算符 加法 & / &&

逻辑运算符

与/短路与
- 算数运算符 减法 | / || 逻辑运算符 或/短路或
* 算数运算符 乘法 > 关系运算符 大于
/ 算数运算符 除法 < 关系运算符 小于
% 算数运算符 取余数 == 关系运算符 判断是否相等,是为true,否为false
= 赋值运算符 赋值操作 != 关系运算符 判断是否不等于,是为true,否为false  

以上的运算符号并不全,还省略了大于等于,小于等于等常见的,还有移位运算符等等,不过对于初学这些会更为重要一点,其他的符号更多应题目相结合学习更适合。


3.注释

单行注释:在编辑器中以 “// ”来表示后面为本行代码注释,例:

int a = 10;  // 定义一个变量a,将10赋值给a

多行注释:下方代码进行了两行注释,然后还多写了一行单行注释。

 /** 定义一个变量b,赋值为12,并进行b+1运算。*/int b = 12;b++;   //与b=b+1结果相同,写法不同

注释的作用是为了让程序员自己更清楚下面要进行什么,避免代码过多思绪混乱,也可以增强代码的可读性,让别人能简单读懂。


4. 基本语法

这里涉及到的就是Java这种语言的说话方式,我将从最简单的直接表达到复杂表达进行解释。

4.1 变量的声明

public class HelloWorld {                          //第一行public static void main(String[] args) {      //第二行int b = 12;               //声明变量,并初始化char a = 0;b++;System.out.println("=================");  //换行打印System.out.print(b+"a");             //不换行打印}
}

上面这段代码我将分行讲解

第一行:这是建立一个主类,可以理解为一个你必须要做的一件事。

第二行:这是建立一个main函数,也可以称为主函数,也是你必须要做的事。

这是一种语法的规范,可以认为是模板。

int b = 12;               //声明变量,并初始化char a = 0;

这两行是对变量的声明,声明变量要初始化,初始化可以理解为对变量进行赋值。声明和赋值这两步在这个写法上是不可分割的。

4.2. 如何进行算数运算

public class HelloWorld {                          //第一行public static void main(String[] args) {      //第二行int b = 12;               //声明变量,并初始化int a = 1;int c = a+b;int C1 = a*b;int C2 = b/a;System.out.println(c);  //换行打印System.out.print(C1);//不换行打印}
}

我们看出我们在上面代码进行了加、乘、除,3种运算,我都是定义一个变量,然后把运算的值赋值给这个变量,这个做的目的是为了后面的打印,我们先来看一下这段代码的结果。

这是上面代码运行的结果,如果我们不声明变量接收运算的值,只单独写运算,编译器器也会进行运算,不过后面的代码就要改变一下,将运算语句写入打印语句里面,如下。

public class HelloWorld {                          //第一行public static void main(String[] args) {      //第二行int b = 12;               //声明变量,并初始化int a = 1;System.out.println(b/a);}
}

4.3.  条件判断语句

4.3.1  if语句

 if( boolean类型语句){要执行的语句体 }

 if(同上){语句体}  else{语句体}

if(同上){语句体}  else if(boolean类型语句){语句体} else if(boolean类型语句){语句体}.......else if(boolean类型语句){语句体} else{语句体}

以上3种就是if判断执行语句的语法,看如下用法:

public class HelloWorld {public static void main(String[] args) {int b = 2;int a = 1;int c = 100;/*第一种的if语句*/if (b > a) {System.out.println("a比b大");}System.out.println("==================");/*第二种if语句*/if (a < b) {System.out.println("a的值是" + a);} else {System.out.println("b的值是" + b);}System.out.println("===================");/*第三种if语句*/if (b - a == 0) {System.out.println(a);} else if (b - a == 1) {System.out.println(b + a);} else {System.out.println("你好");}}
}

上述代码按顺序实现了三种语句,我们初学可能会感觉这种判断语句不是一眼就能来看出答案吗,那干嘛不直接写关键代码,我们对于简单的判断当然可以直接判断,但编译器无法直接判断,编译器需要通过比较,才能执行,而且当条件很难是我们无法看出结果,编译器通过比较却可以,因此才会出现这样的代码规范。对于这种语句的学习经常敲代码才是熟悉的途径。好,让我们来看一下,运行结果。

4.3.2  switch语句

switch(表达式){

case 1 :

语句体1;

break;

case 2 :

语句体2;

break;

........

default:

语句体n;

break;

}

我将写一个关于判断生肖的代码,用month代表月份然后用switch语句判断属相。

public class HelloWorld {public static void main(String[] args) {int month = 5;switch (month){case 1:System.out.println("属虎");break;case 2:System.out.println("属兔");break;case 3:System.out.println("属龙");break;case 4:System.out.println("属蛇");break;case 5:System.out.println("属马");break;case 6:System.out.println("属羊");break;case 7:System.out.println("属猴");break;case 8:System.out.println("属鸡");break;case 9:System.out.println("属狗");break;case 10:System.out.println("属猪");break;case 11:System.out.println("属鼠");break;case 12:System.out.println("属牛");break;default:System.out.println("输入错误");}}
}

switch 的表达式可以值也可以字符等,按类型说可以byte,short, int ,char, 也可以是枚举(和列举一个意思),也可以是String.

break:表示结束,表示中断,结束当前语句,不结束会继续执行。

default:很明显是所有条件都不符合就执行该语句体。

4.4.  循环语句体

4.4.1 for循环语句

for(初始化语句,判断语句,条件控制语句){

循环体语句;

}

我将switch语句放到for循环中,然后根据month的变化执行不同值得switch语句。

public class HelloWorld {public static void main(String[] args) {int month = 0;for (month = 0; month < 13; month++) {switch (month) {case 1:System.out.print(" 属虎");break;case 2:System.out.print(" 属兔");break;case 3:System.out.print(" 属龙");break;case 4:System.out.print(" 属蛇");break;case 5:System.out.print(" 属马");break;case 6:System.out.print(" 属羊");break;case 7:System.out.print(" 属猴");break;case 8:System.out.print(" 属鸡");break;case 9:System.out.print(" 属狗");break;case 10:System.out.print(" 属猪");break;case 11:System.out.print(" 属鼠");break;case 12:System.out.print(" 属牛");break;default:System.out.print(" 输入错误");}}}
}

运行结果如下,我将打印语句改成了不换行打印,并每次打印添加了空格,就形成下面的运行结果。for循环语句使用比较频繁,是基础语句中的常用语句。

4.4.2 while循环语句

while(条件判断语句){

循环语句体;

条件控制语句;

}

while的执行是先判断,符合就执行语句提,然后执行条件控制语句,然后在判断是否符合,如此循环;直到不符合条件结束循环。

public class HelloWorld {public static void main(String[] args) {int i = 5;while (i >= 0) {System.out.print( " "+i );i--;}}
}

代码执行结果如下:

4.4.3 do ..... while 循环语句

初始化语句;

do{

循环语句;

条件控制语句;

}while(条件判断语句);

这个循环体和while循环语句相似,不同的是do ......while 是先执行在判断,而while循环是先判断在执行。这个循环不在此演示了,始终要灌输的观念是多敲代码,这个循环留个你自己试试吧。


5. Scanner类获取用户输入

1.导包:

import java .util. Scanner;

2.创建Scanner对象

Scanner sc = new Scanner(System.in);   //这个操作为创建类对象,sc 变量名 ,具体后面会学习到,此处记住就可

3.接收数据

int c = sc.nextInt();   //用c 来接收键盘输入的值;这里是int 类型既只能接收int类型整数,要接收其他数据需要改变语句,其他可见jdk手册

public class HelloWorld {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个数字");int c = sc.nextInt();while (c >= 0) {System.out.print( " "+c );c--;}}
}

运行结果:

好了,Java基础我就介绍到此,还有很多很多的操作与语法我没有可能没有概述完全,菜鸟出道,希望大家批评指正!后续还会在学习空闲之余更新博客,争取早日向大佬靠拢。

Java基础语法知识相关推荐

  1. Java基础语法知识你真的都会吗?

    第一阶段 JAVA基础知识 第二章 Java基础语法知识 在我们开始讲解程序之前,命名规范是我们不得不提的一个话题,虽说命名本应该是自由的,但是仍然有一定的"潜规则",通过你对命名 ...

  2. Java 基础语法知识 - 万丈高楼平地起

    0. 引言 package cn.ideal.javase;/*** @Description: HelloWorld* @Author:BWH_Steven* @Date: 2021/8/30 3: ...

  3. Java基础知识第二讲:Java开发手册/JVM/集合框架/异常体系/Java反射/语法知识/Java IO

    Java基础知识第二讲(Java编程规范/JVM/集合框架/异常体系/Java反射/语法知识/Java IO/码出高效) 分享在java学习及工作中,常使用的一些基础知识,本文从JVM出发,讲解了JV ...

  4. Java基础语法(数组)

    第4天 Java基础语法 今日内容介绍 u 流程控制语句(switch) u 数组 第1章 流程控制语句 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句 ...

  5. 02 Java基础语法(变量+数据类型+运算符)

    Java基础语法 2 基础语法 2.1 二进制(复习总结) 进制转换(二进制 八进制 十进制 十六进制) 2.2 变量 2.2.1 变量定义 2.2.2 使用变量 2.2.3 声明变量的3种方式 2. ...

  6. Java基础语法(三)——运算符

    文章目录 Java基础语法(三)--运算符 一.算术运算符 1.基本四则运算符 (1)练习 (2)注意事项 2.复合运算符 3.自增自减操作符 二.关系运算符 三.逻辑操作符 1.逻辑与&&a ...

  7. Java基础语法(一)——初识Java

    文章目录 一.Java语言概述 1.Java是什么 2.Java 的流行性 3.Java 的特性 (1) 简单性 (2)面向对象 (3) 分布式(微服务) (4) 健壮性 (5) 安全性 (6) 可移 ...

  8. Java基础语法(九)——String类

    文章目录 Java基础语法(九)--String类 一.定义方式 二.内存 三.字符串比较相等 四.字符串常量池 (1) 直接赋值 (2)采用构造方法 (3)intern 的使用 五.理解字符串不可变 ...

  9. 打怪升级之小白的大数据之旅(一)<Java基础语法之Java的身世之谜>

    打怪升级之小白的大数据之旅(一) Java基础语法之Java的身世之谜 打怪升级之小白的大数据之旅(一) 前言 一.学习大数据之前 二.Java基础 what? why? how? 总结 前言 做了几 ...

最新文章

  1. 一个WCF RESTSOAP Post例子
  2. P3309-[SDOI2014]向量集【线段树,凸壳】
  3. 【DP】【BFS】迷之阶梯
  4. 任务调度及远端管理(基于Quartz.net)
  5. qdialog 返回值_c – QDialog exec()并获取结果值
  6. 基于FPGA实现SDI转Camera Link接口
  7. 【ACC编码】基于FPGA的音频ACC编码实现
  8. 计算机模拟仿真技术的功能,浅谈虚拟仿真技术
  9. vs.Net 2003 安装
  10. 网络地址快速计算方法:IP地址24位-30位掩码绕过二进制计算迅速得到网络地址
  11. 504网站服务器传输超时,504源服务器链接超时cdn
  12. 屏蔽计算机电缆套什么定额,DJYPVP4*2*1.0计算机屏蔽电缆-DJYVP分屏蔽计算机电缆...
  13. python八段数码管显示小数点_小数点算法处理(数码管显示)
  14. 腾讯地图只显示某一区域,覆盖图,marker自定义图标和文本标注
  15. nginx配置深析1
  16. 初学MSP430F5529定时器
  17. Yoga C930 NM-B741 EYG70 Ariel-SVT REV 1.0联想笔记本图纸
  18. 博客大巴(BlogBus)
  19. arctanx麦克劳林公式推导过程_多元正态分布的推导、n维球体积面积的计算
  20. 阿里云ACP认证考试攻略及常见问题

热门文章

  1. 前端使用node.js连接sql.server数据库教程
  2. Unity3D——PlayerPrefs 游戏存档
  3. C语言----基于CLion搭建C语言开发环境
  4. 笔记本电池充不进去电问题
  5. module 'pandas' has no attribute ‘XXX’
  6. 高新技术企业需要哪些审计报告?
  7. 一个月写出专利申请书
  8. 取石子游戏详解NIM
  9. 软件测试面试合集,测试/测试开发岗面经,看完还不怕找不到工作
  10. 看别人是怎么挣钱的,你就知道生活中 思路决定成功