자바는 출력을 포맷의 printf 또는 형식을 사용하여
1 단계 : 포맷 출력
당신이 문자열 연결에 대한 필요성에 서식 출력을 사용하지 않을 경우, 변수는 더 복잡한 모자이크 모양을 경우
형식화 된 출력을 사용하려면 취소하고 간결 수 있습니다
%의 (S)는 문자열 나타낸다
% d를 나타내는 숫자
%를 N 개행을 나타내는
package digit;
public class TestNumber {
public static void main(String[] args) {
String name ="盖伦";
int kill = 8;
String title="超神";
//直接使用+进行字符串连接,编码感觉会比较繁琐,并且维护性差,易读性差
String sentence = name+ " 在进行了连续 " + kill + " 次击杀后,获得了 " + title +" 的称号";
System.out.println(sentence);
//使用格式化输出
//%s表示字符串,%d表示数字,%n表示换行
String sentenceFormat ="%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n";
System.out.printf(sentenceFormat,name,kill,title);
}
}
2 단계 : printf와 및 형식
printf와 포맷과 똑같은 효과를 얻을 자바 소스 코드를 이클립스 볼 수
의 printf 통화 형식을 직접 볼 수
package digit;
public class TestNumber {
public static void main(String[] args) {
String name ="盖伦";
int kill = 8;
String title="超神";
String sentenceFormat ="%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n";
//使用printf格式化输出
System.out.printf(sentenceFormat,name,kill,title);
//使用format格式化输出
System.out.format(sentenceFormat,name,kill,title);
}
}
3 단계 : 줄 바꿈
줄 바꿈 문자는 별도의 행 --- '\ n'은 줄 바꿈 (개행)이다
캐리지 리턴이 다시 라인의 시작이다 '는 \ r에'캐리지 리턴 (반환) ---
사실, 돌아 일식에서 캐리지 리턴을 노크 자동차 개행
자바 같은 코드가 윈도우, 리눅스, 맥 등 다양한 플랫폼에서 사용할 수있는 크로스 플랫폼 프로그래밍 언어입니다
하지만 서로 다른 운영 체제에서, 줄 바꿈으로 동일하지
DOS 및 Windows (1)에서, 각 줄의 끝에 "는 N- \ \ r에"입니다
(2) , 리눅스 시스템, 각 라인 "\ N- 형"의 끝
(3) "\ r에"오직 각 줄의 끝에서 맥 시스템.
모든 운영 체제 %의 N을 사용하여 동일한 성능을 가지고에 자바 프로그램으로 줄 바꿈을하려면 랩 플랫폼 독립적 인 작업을 수행 할 수 있습니다
package digit;
public class TestNumber {
public static void main(String[] args) {
System.out.printf("这是换行符%n");
System.out.printf("这是换行符%n");
}
}
단계 4 : 전체 길이, 0까지 좌측 자리수 단락, 소수점의 국부적 인 표현
형식이 다른 종래의 방법으로
package digit;
import java.util.Locale;
public class TestNumber {
public static void main(String[] args) {
int year = 2020;
//总长度,左对齐,补0,千位分隔符,小数点位数,本地化表达
//直接打印数字
System.out.format("%d%n",year);
//总长度是8,默认右对齐
System.out.format("%8d%n",year);
//总长度是8,左对齐
System.out.format("%-8d%n",year);
//总长度是8,不够补0
System.out.format("%08d%n",year);
//千位分隔符
System.out.format("%,8d%n",year*10000);
//小数点位数
System.out.format("%.2f%n",Math.PI);
//不同国家的千位分隔符
System.out.format(Locale.FRANCE,"%,.2f%n",Math.PI*10000);
System.out.format(Locale.US,"%,.2f%n",Math.PI*10000);
System.out.format(Locale.UK,"%,.2f%n",Math.PI*10000);
}
}
운동 : 황
스캐너 데이터 스트링에 의해 판독하고 다음으로 포맷 출력
온주, 절강 가장 큰 무두질 공장은 남쪽 무두질은 , 아래로 나쁜 보스의 아들 폐쇄 황 , Chihepiaodu을 빚 3.5 억, 그의 여동생이 실행에! 우리는 잡고, 방법이 없습니다 지갑이 임금을 도착! 가격은 이순신이다 바이 두 개 이상의 바이 개 이상의 바이 더 지갑 , 지금은 모든 모든 스무! 한, 만 스물 판매 황 나쁜 아들, 당신은 당신이하지 임금을, 우리는 당신이 육개월를 제공하기 위해 열심히 노력! 인간의 아니에요 또한 내 하드 번 돈을뿐만 아니라, 내 하드 번 돈!
대답 :
package digit;
import java.util.Locale;
import java.util.Scanner;
public class TestNumber {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入地名:");
String location = s.nextLine();
System.out.println("请输入公司类型:");
String companyCategory = s.nextLine();
System.out.println("请输入公司名称:");
String companyName = s.nextLine();
System.out.println("请输入老板名称:");
String bossName = s.nextLine();
System.out.println("请输入金额:");
String money = s.nextLine();
System.out.println("请输入产品:");
String product = s.nextLine();
System.out.println("请输入价格计量单位:");
String unit = s.nextLine();
String model = "%s最大%s%s倒闭了,王八蛋老板%s吃喝嫖赌,欠下了%s个亿,\r\n"
+ "带着他的小姨子跑了!我们没有办法,拿着%s抵工资!原价都是一%s多、两%s多、三%s多的%s,\r\n"
+ "现在全部只卖二十块,统统只要二十块!%s王八蛋,你不是人!我们辛辛苦苦给你干了大半年,\r\n"
+ "你不发工资,你还我血汗钱,还我血汗钱!";
System.out.format(model, location,companyCategory,companyName,bossName,money,product,unit,unit,unit,product,bossName);
}
}