目录

一、关键字与保留字

二、标识符与变量

三、基本数据类型的转换

四、运算符

五、分支语句

五、循环语句

六、跳转语句

七、Java从键盘读取输入


一、关键字与保留字

定义:①关键字:Java关键字是电脑语言里事先定义的,有特别意义的标识符(字符串) 。

②保留字:现版本jdk中未被定义为关键字,将来版本中可能会使用的标识符(字符串)。

二、标识符与变量

1、定义:

①变量:能储存计算结果或能表示值的抽象概念,可对其进行定义、赋值等操作。

②标识符:对各种变量、方法和类等命名时使用的字符序列称为标识符。

2、标识符命名规则:(建议使用驼峰命名法

①开头:英文字母、'_' 、'$',且不可数字开头更不可全部使用数字。

②不可使用关键字、保留字,但可包含。

③Java中严格区分大小写,且不可包含空格。

注意:常量名建议全部大写,文件名与类名相同且首字母必须大写,若由多个单词组成则第二个单词首字母大写。

3、变量分类(按照数据类型)

①基本数据类型:

②引用数据类型:

注意:

①String(字符串)不属于基本数据类型。

②除了基本数据类型的8种,均属于引用数据类型。

三、基本数据类型的转换

1、自动转换

注意:

①只可按照上图从前向后自动转换(char->int、char->float等),不可逆向。

②char型转换为int型时,按照ASCII码大小。

2、强制转换

案例1:将int类型的num转换成char类型。

  1. package day11;
  2. public class Test {
  3. public static void main(String[] args) {
  4. int num=97;
  5. char ch=(char)num;
  6. System.out.println(ch);
  7. }
  8. }

运行结果:

案例2:汉字编码(补充)

  1. public class Test {
  2. public static void main(String[] args) {
  3. char ch1='赵';
  4. int num=(int)ch1;
  5. System.out.println(num+"\n"+"赵后面的是个汉字分别是:");
  6. for(int i=1;i<=10;i++) {
  7. System.out.print((char)(num+i)+" ");
  8. }
  9. }
  10. }

运行结果:

注意:案例2意味每个汉字都有其编码序号。

案例3:当字符串前后包含'+'时(补充)

  1. package day11;
  2. public class Test {
  3. public static void main(String[] args) {
  4. String str=1+2+"hello"+4+5;
  5. System.out.println(str);
  6. }
  7. }

运行结果:

注意:当字符串前、后包含'+'时,前面做正常运算,后面做拼接。

四、运算符

1、算数运算符:+、-、*、/、%、++、-- ...(用法c相同)

2、赋值运算符

案例:比较num1=num1+1和num1+=1

结论:前者不能自动强制转换,后者可以

3、比较运算符:==、!=、<、<=、instanceof(检查是否是类的对象)

案例:instanceof 用法

“Hello” instanceof String 返回值:true

4、逻辑运算符:&、|、!、&&、||、^

注意:

①&与&&区别(|与||同理):当左边为true时前者继续比较右边但后者不在比较

②亦或:两边同号为false,异号为true

5、位运算符:<<、>>、>>>(无符号右移)、&、|、^、~(求反码)

注意:

①3<<4=48 等价于 3*2^4

②反码、补码原理要清楚(0正1负)、正数原码按位取反末位加1=负数

6、三目运算符

  1. public class Test {
  2. public static void main(String[] args) {
  3. int n=1,m=2;
  4. System.out.println(n<m?n:m);
  5. }
  6. }

注意:三目运算符可嵌套。

五、分支语句

1、if语句

2、switch语句

  1. public class Test {
  2. public static void main(String[] args) {
  3. int num=1;
  4. switch (num) {
  5. case 1:
  6. 执行语句1;
  7. break;
  8. default:
  9. 执行语句2;
  10. break;
  11. }
  12. }
  13. }

注意:两者区别不大,个人喜欢用if,但switch效率要高。

五、循环语句

1、for循环

案例:从0打印到9

  1. package day11;
  2. public class Test {
  3. public static void main(String[] args) {
  4. for(int i=0;i<10;i++) {
  5. System.out.print(i+" ");
  6. }
  7. }
  8. }

运行结果:

2、while循环

案例:从0打印到9

  1. package day11;
  2. public class Test {
  3. public static void main(String[] args) {
  4. int num=0;
  5. while(num!=10) {
  6. System.out.print(num+" ");
  7. num++;
  8. }
  9. }
  10. }

运行结果:

3、do...while(终止条件)

案例:做课程设计时用到了do...while(终止条件),感觉交互性很好。

部分代码:

  1. void inserts(linklist L)
  2. {
  3. char c1='y';
  4. do {
  5. system("cls");
  6. traverse(L);
  7. cout<<"请分别输入选手的编号和姓名"<<endl;
  8. infor stu;
  9. stu.num=0,stu.rank=-1;
  10. cin>>stu.id>>stu.name;
  11. if(judge(L,stu.id)){
  12. cout<<"数据有误!"<<endl;
  13. continue;
  14. }
  15. insert(L,stu);
  16. cout<<"是否继续添加选手信息(y/n)?"<<endl;
  17. cin>>c1;
  18. if(c1=='y'){
  19. }else if(c1!='n'){
  20. cout<<"输入有误,请重新输入!"<<endl;
  21. }
  22. }while(c1!='n');
  23. }

运行结果:直到输入'n'时才退出系统

六、跳转语句

1、break:跳出循环

2、continue:结束本次循环,开始下次循环

3、return:结束程序

七、Java从键盘读取输入

1、单组输入:

  1. package day11;
  2. import java.util.Scanner; //导类
  3. public class Test {
  4. public static void main(String[] args) {
  5. Scanner cin=new Scanner(System.in); //使用Scanner定义cin
  6. String str=cin.nextLine();//读取字符串
  7. String str1=cin.nextLine();//读取字符:先读取字符串,再使用charAt转换
  8. char ch=str1.charAt(0);
  9. int num=cin.nextInt();//读取整数
  10. System.out.println("str:"+str);//输出数据
  11. System.out.println("ch:"+ch);
  12. System.out.println("num:"+num);
  13. }
  14. }

2、读取到文件结束(多组输入):

  1. package day11;
  2. import java.util.Scanner; //导类
  3. public class Test {
  4. public static void main(String[] args) {
  5. Scanner cin=new Scanner(System.in); //使用Scanner定义cin
  6. while(cin.hasNextLine()) {
  7. int num=cin.nextInt();
  8. System.out.println(num);
  9. }
  10. }
  11. }

3、固定组输入:

  1. package day11;
  2. import java.util.Scanner; //导类
  3. public class Test {
  4. public static void main(String[] args) {
  5. Scanner cin=new Scanner(System.in); //使用Scanner定义cin
  6. int n=cin.nextInt();
  7. while(n-->0) {
  8. int num=cin.nextInt();
  9. System.out.println(num);
  10. }
  11. }
  12. }

不足之处请留言!

(二)Java编程基础的更多相关文章

  1. Java编程基础——数组和二维数组

    Java编程基础——数组和二维数组 摘要:本文主要对数组和二维数组进行简要介绍. 数组 定义 数组可以理解成保存一组数的容器,而变量可以理解为保存一个数的容器. 数组是一种引用类型,用于保存一组相同类 ...

  2. Java入门——(1)Java编程基础

    Java入门--(1)Java编程基础 第二章 Java编程基础   JAVA 代码的基本格式: 修饰符 class 类名{ 程序代码 }   2.1关键字:赋予了特殊含义的单词.   2.2标识符: ...

  3. Java开发知识之Java编程基础

    Java开发知识之Java编程基础 一丶Java的基础语法 每个语言都有自己的语法规范.例如C++ 入口点是main. 我们按照特定格式编写即可. Java也不例外. Java程序的语法规范就是 Ja ...

  4. java编程基础二进制

    0.java编程基础 01.二进制(原码,反码,补码) 02.位运算 03.移位运算符 二进制 原码,反码,补码 1.基本概念 二进制是逢2进位的进位制,0,1是基本算符. 现在的电子计算机技术全部使 ...

  5. Java编程基础-面向对象(中)

    本章承接Java编程基础-面向对象(上)一文. 一.static关键字 在java中,定义了一个static关键字,它用于修饰类的成员,如成员变量.成员方法以及代码块等,被static修饰的成员具备一 ...

  6. 操作系统内核Hack:(二)底层编程基础

    操作系统内核Hack:(二)底层编程基础 在<操作系统内核Hack:(一)实验环境搭建>中,我们看到了一个迷你操作系统引导程序.尽管只有不到二十行,然而要完全看懂还是需要不少底层软硬件知识 ...

  7. Java编程基础——流程控制

    Java编程基础——流程控制 摘要:本文主要介绍Java编程中的流程控制语句. 分类 流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下三种: 顺序结构:从上到下依次执行每条语句操作 ...

  8. Java编程基础——运算符和进制

    Java编程基础——运算符和进制 摘要:本文主要介绍运算符和进制的基本知识. 说明 分类 Java语言支持如下运算符: ◆ 算术运算符:++,--,+,-,*,/,%. ◆ 赋值运算符:=,+=,-= ...

  9. Java编程基础——常量变量和数据类型

    Java编程基础——常量变量和数据类型 摘要:本文介绍了Java编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...

  10. Java编程基础——标识符和关键字

    Java编程基础——标识符和关键字 摘要:本文主要介绍标识符和关键字. 标识符 是什么 Java语言中,为各种变量.方法.类和包等起的名字,统统称之为Java标识符. 命名规则 ◆ 应以字母.下划线. ...

随机推荐

  1. zz MySQL redo log及recover过程浅析

    原作地址:http://www.cnblogs.com/liuhao/p/3714012.html 写在前面:作者水平有限,欢迎不吝赐教,一切以最新源码为准. InnoDB redo log 首先介绍 ...

  2. springboot使用redis的keyspace notifications 实现定时通知

    简单定时任务解决方案:使用redis的keyspace notifications(键失效后通知事件) 需要注意此功能是在redis 2.8版本以后推出的,因此你服务器上的reids最少要是2.8版本 ...

  3. Hyperledger Fabric——balance transfer(二)注册用户

    详细分析blance transfer示例的用户注册(register)与登录(enroll)功能. 源码分析 1.首先分析项目根目录的app.js文件中关于用户注册和登录的路由函数.注意这里的tok ...

  4. eclipse Maven操作出现No compiler is provided in this environment.Perhaps you are running on a JRE rather than a JDK?

    右键 pom.xml -> Run as -> Maven install 后出现类似如下错误: 解决方法: 1)选择项目后,点击 eclipse 导航栏中 [Window]-->[ ...

  5. [译]Tus 协议

    原文地址:https://tus.io/protocols/resumable-upload.html 摘要 该协议提供一种基于 HTTP/1.1 和 HTTP/2 机制用于文件断点续传. 核心协议 ...

  6. 在树莓派里搭建 Lighttpd 服务器

    Lighttpd 像 Ngnix 一样,是被设计运行在低内存,低 CPU 负载的设备上,它们都非常适合在树莓派上运行. 本文将介绍如何在树莓派上运行基本配置的 Lighttpd ,以及如何与 PHP- ...

  7. [PHP学习教程 - 心得]001.偷龙转凤技巧10则(Remember Tips)

    引言:PHP当中的一些猬锁技巧,比较基础,想起就发贴总结一下,老鸟换个姿势飘过去就是. [技巧]应该属于“方法”的一个范畴,主要指对一种生活或工作方法的熟练和灵活运用.[五笔]RFAG. 话不多说,下 ...

  8. 上传应用至Google Play 后被重新签名,怎么获取最新的签名信息

    基本签名信息在Google Play 上都能查看到. 快速解决Google+登录和facebook登录的办法: 不用改包名重新创建应用,不用重新打包,不要删除自己的keystore文件,不要重新创建k ...

  9. try catch finally return 轶事

    最近阿里发布了java开发手册终极版,看到其中一条规约:[强制]不能在 finally 块中使用 return, finally 块中的 return 返回后方法结束执行,不会再执行 try 块中的 ...

  10. Spring boot Sample 008之spring-boot-logback

    一.环境 1.1.Idea 2020.1 1.2.JDK 1.8 二.目的 spring boot 整合log4j2 二.步骤 2.1.点击File -> New Project -> S ...