Java标准输入输出+基础理论+基本数据类型总结

学Java两个多月了,准备写Java相关知识,多总结(毕竟自己也是小白),以后定期写Java相关博客,一直把Java大致体系学完。只是为了自己方便查阅,有不足可指出。

1、标准输出:

public class HelloJava {
public static void main(String[] args) {
      System.out.println("renzhiyuan学习Java");
}
}

1.1)参数:

public:表示的这个程序的访问权限,表示的是任何的场合可以被引用,这样java虚拟机就可以找到。main()方法,从而来运行javac程序。

static:表明方法是静态的,不依赖类的对象的,是属于类的,在类加载的时候main()方法也随着加载到内存中去。

void:main()方法是不需要返回值。

main:此方法是程序执行的入口。

String[] args:从控制台接收参数。

System.out.println:标准输出流(支持文件的输出)

#System.out.println();标准错误输出流

1.2)两个输出流的区别区别:

标准错误流不支持定向输出,只能立即输出。

标准输出流支持定向输出

eg:java HelloJava>>test.txt(非追加>)

1.3)常用转义字符:

//println和print区别是println会换行

// 常用的转义字符

\\  反斜杠

\'  单引号'

\"  双引号"

\b  倒退一个字符

\n  回车换行

\t  跳格(一个Tab键)

1.4)程序解释:

A:Java程序的最基本单位是类,所以我们要定义一个类。

格式:class 类名

举例:class HelloWorld

B:在类中写内容的时候,用大括号括起来。

C:Java程序要想执行,必须有main方法。

格式:public static void main(String[] args)

D:要指向那些东西呢,也用大括号括起来。

E:你要做什么呢?今天我们仅仅做了一个简单的输出

格式:System.out.println("HelloWorld");

注意:""里面的内容是可以改动的。

(2)Java程序的开发执行流程:

A:编写java源程序(.java)

B:通过javac命令编译生成.class文件

C:通过java命令运行.class文件

2、键盘录入:

2.1)案例

import java.util.Scanner;
public class JavaTest 
{
    public static void main(String[] args)
  {
Scanner scanner= new Scanner(System.in);
System.out.println("你的名字是什么?");
String name = scanner.next();
System.out.println("你家住在哪里?");
String address = scanner.next();
System.out.println("我的名字也叫" + name + address + "很高兴认识你!");
  }
}

2.2)实现流程:

A:导包

   import java.util.Scanner;

   位置:在class的上边

B:创建对象

   Scanner sc = new Scanner(System.in);

C:获取数据

3、方法:

3.1)方法:就是完成特定功能的代码块。

   注意:在很多语言里面有函数的定义,而在Java中,函数被称为方法。

3.2)格式:

   修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {

   方法体语句;

    return 返回值;

    }

修饰符:目前就用 public static。后面再详细讲解其他修饰符

返回值类型:就是功能结果的数据类型

方法名:就是起了一个名字,方便我们调用该方法。

参数类型:就是参数的数据类型

参数名:就是变量

参数分类:

实参:实际参与运算的数据

形参:方法上定义的,用于接收实际参数的变量

方法体语句:就是完成功能的代码块

return:结束方法

返回值:就是功能的结果,由return带给调用者。

3.3)两个明确:

返回值类型:结果的数据类型

参数列表:参数的个数及对应的数据类型

3.4)方法调用

A:有明确返回值的方法

a:单独调用,没有意义

b:输出调用,不是很好,因为我可能需要不结果进行进一步的操作。但是讲课一般我就用了。

c:赋值调用,推荐方案

B:void类型修饰的方法

a:单独调用

3.5)方法的注意事项

A:方法不调用不执行

B:方法之间是平级关系,不能嵌套定义

C:方法定义的时候,参数是用,隔开的

D:方法在调用的时候,不用在传递数据类型

E:如果方法有明确的返回值类型,就必须有return语句返回。

3.6)方法重载

在同一个类中,方法名相同,参数列表不同。与返回值无关。

参数列表不同:

参数的个数不同。

参数的对应的数据类型不同。

3.7)方法重载案例

不同的类型的多个同名方法的比较。

4、关键字

4.1)被Java语言赋予特定含义的单词

4.2)特点:

全部小写。

4.3)注意事项:

A:goto和const作为保留字存在。

B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记

5、标识符

4.1)就是给类,接口,方法,变量等起名字的字符序列

5.2)组成规则:

A:英文大小写字母

B:数字

C:$和_

5.3)注意事项:

A:不能以数字开头

B:不能是java中的关键字

C:区分大小写

5.4)常见的命名规则(见名知意)

A:包全部小写

单级包:小写

举例:liuyi,com

多级包:小写,并用.隔开

举例:cn.itcast,com.baidu

B:类或者接口

一个单词:首字母大写

举例:Student,Demo

多个单词:每个单词首字母大写

举例:HelloWorld,StudentName

C:方法或者变量

一个单词:首字母小写

举例:name,main

多个单词:从第二个单词开始,每个单词首字母大写

举例:studentAge,showAllNames()

D:常量

全部大写

一个单词:大写

举例:PI

多个单词:大写,并用_隔开

举例:STUDENT_MAX_AGE

6、注释

6.1)就是对程序进行解释说明的文字

6.2)分类:

A:单行注释//

B:多行注释/**/

C:文档注释(后面讲) /** */

6.3)把HelloWorld案例写了一个带注释的版本。

后面我们要写一个程序的过程。

需求:

分析:

实现:

代码体现:

6.4)注释的作用

A:解释说明程序,提高了代码的阅读性。

B:可以帮助我们调试程序。

7、常量

7.1)在程序执行的过程中,其值不发生改变的量

7.2)分类:

A:字面值常量

B:自定义常量(后面讲)

7.3)字面值常量

A:字符串常量 "hello"

B:整数常量12,23

C:小数常量12.345

D:字符常量'a','A','0'

E:布尔常量true,false

F:空常量null(后面讲)

7.4)在Java中针对整数常量提供了四种表现形式

A:二进制由0,1组成。以0b开头。

B:八进制由0,1,...7组成。以0开头。

C:十进制由0,1,...9组成。整数默认是十进制。

D:十六进制由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。

8、进制转换

8.1)其他进制到十进制

系数:就是每一个位上的数值

基数:x进制的基数就是x

权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。

结果:系数*基数^权次幂之和。

8.2)十进制到其他进制

除基取余,直到商为0,余数反转。

8.3)进制转换的快速转换法

A:十进制和二进制间的转换

8421码。

B:二进制到八进制,十六进制的转

9、数据类型

9.1)Java是一种强类型语言,针对每种数据都提供了对应的数据类型。

9.2)分类:

A:基本数据类型:4类8种

B:引用数据类型:类,接口,数组。

9.3)基本数据类型

A:整数占用字节数(字节是计算机中最小的计量单位)

byte1     -128~127

short2     -32768~32767

int 4     -2147483648~2147483647

long8     

B:浮点数

float4

double8

C:字符

char2

D:布尔

boolean1

注意:

整数默认是int类型,浮点数默认是double。

长整数要加L或者l。

单精度的浮点数要加F或者f。

10、数据类型转换

10.1)boolean类型不参与转换

10.2)默认转换

A:从小到大

B:byte,short,char -- int -- long -- float -- double

C:byte,short,char之间不相互转换,直接转成int类型参与运算。

10.3)强制转换

A:从大到小

B:可能会有精度的损失,一般不建议这样使用。

C:格式:

目标数据类型 变量名 = (目标数据类型) (被转换的数据);

10.4)思考题和面试题:

A:下面两种方式有区别

float f1 = (float)12.345;

                  float f2 = 12.345F;

                  f1其实是通过一个double类型转换过来的,而f2本身就是个float类型。

B:下面的程序有问题吗,如果有,在哪里呢?

byte b1 = 3;

byte b2 = 4;

byte b3 = b1 + b2;

byte b4 = 3 + 4;

C:字符参与运算

是查找ASCII里面的值

'a'97

'A'65

'0'48

System.out.println('a');

System.out.println('a' + 1);

D:字符串参与运算

这里其实是字符串的连接

System.out.println("hello"+'a'+1);

System.out.println('a'+1+"hello");

System.out.println("5+5="+5+5);

System.out.println(5+5+"=5+5");

11、变量

11.1)在程序的执行过程中,其值在某个范围内可以发生改变的量

11.2)变量的定义格式:

A:数据类型 变量名 = 初始化值;

B:数据类型 变量名;

 变量名 = 初始化值;

12、运算符(掌握)

12.1)算术运算符

A:+,-,*,/,%,++,--

B:+的用法

a:加法

b:正号

c:字符串连接符

C:/和%的区别

数据做除法操作的时候,/取得是商,%取得是余数

D:++和--的用法

a:他们的作用是自增或者自减

b:使用

**单独使用

放在操作数据的前面和后面效果一样。

a++或者++a效果一样。

**参与操作使用

放在操作数的前面:先自增或者自减,再参与操作

int a = 10;

int b = ++a;

放在操作数的后面:先参与操作,再自增或者自减

int a = 10;

int b = a++;

12.2)赋值运算符

A:=,+=,-=,*=,/=,%=等

B:=叫做赋值运算符,也是最基本的赋值运算符

int x = 10; 把10赋值给int类型的变量x。

C:扩展的赋值运算符的特点

隐含了自动强制转换。

面试题:

short s = 1;

s = s + 1;

short s = 1;

s += 1;

请问上面的代码哪个有问题?

12.3)比较运算符

A:==,!=,>,>=,<,<=

B:无论运算符两端简单还是复杂最终结果是boolean类型。

C:千万不要把==写成了=

12.4)逻辑运算符

A:&,|,^,!,&&,||

B:逻辑运算符用于连接boolean类型的式子

C:结论

&:有false则false

|:有true则true

^:相同则false,不同则true。

情侣关系。

!:非true则false,非false则true

&&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。

||:结果和|是一样的,只不过有短路效果。左边是true,右边不执行。

12.5)位运算符(了解)

A:^的特殊用法

一个数据针对另一个数据位异或两次,该数不变

B:面试题

a:请实现两个变量的交换

**采用第三方变量

**用位异或运算符

左边a,b,a

右边a^b

b:请用最有效率的方式计算出2乘以8的结果

2<<3

12.6)三元运算符

A:格式

比较表达式?表达式1:表达式2;

B:执行流程:

首先计算比较表达式的值,看是true还是false。

如果是true,表达式1就是结果。

如果是false,表达式2就是结果。

C:案例:

a:比较两个数据是否相等

b:获取两个数据中的最大值

c:获取三个数据中的最大值

 //获取三个整数中的最大值。

public class JavaTest{
public static void main(String[] args){
 int x = 10;
 inty = 5;
 int z = 20;
 System.out.println(x>y? "x大于y" : "x小于y");
 int x = 10;
 int y = 5;
 int z =(x>y? x:y);
 System.out.println("z:" + z);
 //第一种方法:先比较a、b最大值,在拿a、b最大值和c比较。
  int x = 10;
  int y = 5;
  int z = 20;
  int temp = ((x>y)? x:y);
  int max = ((temp>z)? temp:z);
  System.out.println("abc最大值是:" + max);
//  第二种方法(不推荐)
  int max = (x>y)?((x>z)? x:z):((y>z)? y:z);
  System.out.println("abc最大值是:" + max);
  获取两个整数是否相同
  boolean flag = (x == y)? true:false; //不需要ture和false,因为是booleam类型。
  boolean flag = (x == y);
  System.out.println(flag);



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整全套资源下载地址:https://download.csdn.net/download/qq_27595745/70898746 【完整课程列表】 完整版 Java基础入门教程 Java程序语言设计 01 java语言基础 Java语言概述(共24页).ppt 完整版 Java基础入门教程 Java程序语言设计 02 java语法基础 Java语法基础(共32页).ppt 完整版 Java基础入门教程 Java程序语言设计 02 java语法基础 Java语法基础2(共24页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 集合框架(共18页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 和对象1(共23页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 与对象2(共23页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 与对象3(共24页).ppt 完整版 Java基础入门教程 Java程序语言设计 03 java对象 与对象4(共35页).ppt 完整版 Java基础入门教程 Java程序语言设计 04 IO流 输入输出流(共31页).ppt 完整版 Java基础入门教程 Java程序语言设计 05 GUI AWT 事件模型(共27页).ppt 完整版 Java基础入门教程 Java程序语言设计 05 GUI GUI 编程(共37页).ppt 完整版 Java基础入门教程 Java程序语言设计 05 GUI Swing(共41页).ppt 完整版 Java基础入门教程 Java程序语言设计 06 异常处理 异常和垃圾收集(共27页).ppt 完整版 Java基础入门教程 Java程序语言设计 07 网络编程 JDBC(共21页).ppt 完整版 Java基础入门教程 Java程序语言设计 07 网络编程 反射机制(共23页).ppt 完整版 Java基础入门教程 Java程序语言设计 07 网络编程 网络编程(共32页).ppt 完整版 Java基础入门教程 Java程序语言设计 07 网络编程 线程(共23页).ppt

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值