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带给调用者。

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);
时间: 2024-12-28 21:05:52

Java标准输入输出+基础理论+基本数据类型总结的相关文章

java 标准输入输出System.in与System.out

System.in System.in 是 InputStream 类的实例对象,该对象的创建是由本地(native)方法完成的. public static final InputStream in System.in字节输入流对应的IO设备为键盘. System.in为InputStream类的实例,故包含方法 int read()与 int read(byte[]). 示例: int a; byte[] b = new byte[12]; a = System.in.read(); Sys

C语言的标准输入输出

欢迎探讨,如有错误敬请指正 如需转载,请注明出处 http://www.cnblogs.com/nullzx/ 1. 标准输入输出 标准输入.输出主要由缓冲区和操作方法两部分组.缓冲区实际上可以看做内存中的字符串数组,而操作方法主要是指printf.scanf.puts.gets,getcha.putcahr等操作缓冲区的方法.在C++以及Java等面向对象的编程语言中,将缓冲区以及操作缓冲区的方法封装成一类对象,这类对象就称为流. 缓冲区最大的特点主要体现在数据的一次性,即数据被printf.

java包的使用、数据类型以及运算符,流程控制

API: java.lang 语言包 可以不用导入就可以使用java.awt/javax.swing/java.awt.event 图形GUIjava.applet 小应用程序包 可以嵌套在网页中运行java.io 输入输出包 使用包结构的类时需要先导入 import java.util.Date; Date d=new Date();  --import java.util.*; --import可以导入包下的所有类       如果不提前导入 java.util.Date d=new jav

Java基础一:基本数据类型

一.八种基本数据类型 1.整数类型 ①byte 占一个字节. 常用作缓冲数组. ②short 占两个字节 . ③int 占四个字节. 最常用. ④long 占8个字节.注意long类数值后面有一个后缀L. 注意:*Java没有无符号(unsigned)整数. *所有的数值类型所占据的字节数与平台无关,保证了可移植性. 2.浮点类型 ①float 占四个字节.后缀带有一个F.例:float f=3.4L; ②double 占8个字节.默认是double类型.例:3.14 注意:*double的精度

Java 第二章 变量 、数据类型和运算符 笔记

Java 第二章 变量 .数据类型和运算符 一.变量:存储数据的一个基本单元. 二.变量的声明和赋值: 1)声明并赋值:数据类型 变量名=值;      例:int  price=1000; 2)声明.赋值分两步:数据类型 变量名;   例: int  price; 变量名=值;              price=1000; 三.数据类型2种: 1)基本数据类型8种: Byte 长度:-128~127(-2的7次方到2的7次方减1) Short   -2的15次方到2的15次方减1 Int

标准输入输出

标准输入输出和管道  三种输入和输出设备 把输出和输入重定向到文件 使用管道连接命令 一.标准: 输入(STDIN)-0,默认是键盘鼠标的输入窗口 输出(STDOUT)-1,默认设备当前终端窗口 错误(STDERR)-2,默认当前终端窗口 1: 打开的文件都有一个fd: file descriptor (文件描述符) 二,输入输出重定向:改变文件位置 1,> 把输出STDOUT重定向到文件 2>把STDERR重定向到文件    &>把所有输出重定向到文件      > 文件

管道重定向之重定向标准输入输出句柄

管道重定向之重定向标准输入输出句柄1.如果控制台应用程序数据流中包含中文,则要调用 _tsetlocale(LC_ALL, _T("chs")),否则数据流中的中文字符会被当成中止符而被截断,如printf("abc中文def"),只会输出"abc" 2.printf,cout,wcout中的换行符'\n',会被修改为回车加换行'\r\n'传递到管道中,如有语句printf("abc\r\n"),传递的真实数据流是"

Java数据类型和MySql数据类型对应表(转)

Java数据类型和MySql数据类型对应表 java mysql 数据类型对照 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lang.String 12   CHAR N CHAR java.lang.String 1   BLOB L+N BLOB java.lang.byte[] -4   TEXT 65535 VARCHAR java.lang.String -1        

标准输入输出,输出重定向

标准输入输出: 输出重定向: 正确输出和错误输出同时保存:  命令 &>/dev/null 这条指令把正确输出写入文件中,错误输出丢入黑洞 解释: 放在>后面的&,表示重定向的目标不是一个文件,而是一个文件描述符,内置的文件描述符如下 1 => stdout 2 => stderr 0 => stdin 换言之 2>1 代表将stderr重定向到当前路径下文件名为1的regular file中,而2>&1代表将stderr重定向到文件描述符