(جاوا) متغیرها. فرمت های خروجی


اگر کامپیوتر توانایی ذخیره اطلاعات مختلف در حافظه خود را نداشته باشد و قادر به پردازش اطلاعات از همان نوع با استفاده از الگوریتم های یکسان نباشد، نیازی به کامپیوتر نیست. 
برای ایجاد برنامه های جالب تر، باید یاد بگیرید که چگونه اطلاعات را در حافظه کامپیوتر ذخیره کنید. در عین حال، ما باید یاد بگیریم که چگونه به سلول های حافظه رایانه دسترسی داشته باشیم. 
در برنامه نویسی، مانند زندگی، برای اشاره به هر بخشی از حافظه کامپیوتر، آن را با نام رخ می دهد. با استفاده از این نام، هم می توانید اطلاعات را بخوانید و هم در آنجا بنویسید.

یک متغیر مکانی در حافظه رایانه است که دارای نام است و مقداری مربوط به نوع را ذخیره می‌کند.

کلمه "متغیر" به ما می گوید که مقدار آن می تواند در طول اجرای برنامه تغییر کند.  وقتی یک مقدار متغیر جدید ذخیره می شود، مقدار قبلی پاک می شود


برای یک کامپیوتر، تمام اطلاعات داده های موجود در حافظه آن هستند - مجموعه ای از صفر و یک (به بیان ساده، هر اطلاعاتی در یک کامپیوتر فقط اعداد است و آنها را به همان روش پردازش می کند). با این حال، می دانیم که اعداد صحیح و کسری متفاوت عمل می کنند. بنابراین، هر زبان برنامه نویسی دارای انواع مختلفی از داده ها است که با روش های مختلفی پردازش می شوند.

به عنوان مثال،
عدد صحیح متغیرها – تایپ کنید int (از عدد صحیح انگلیسی – whole)، 4 بایت در حافظه اشغال کنید؛
واقعی متغیرهایی که می توانند یک قسمت کسری داشته باشند (نوع float – از انگلیسی نقطه شناور – ممیز شناور) 4 بایت در حافظه اشغال می کنند< br /> - کاراکترها (نوع char – از کاراکتر انگلیسی – نماد)، 1 بایت در حافظه اشغال کنید

بیایید سعی کنیم یک متغیر به برنامه خود اضافه کنیم.
قبل از استفاده از یک متغیر، باید به رایانه بگویید که فضایی در حافظه برای آن اختصاص دهد. برای انجام این کار، متغیر باید اعلام شود، یعنی مشخص کنید چه نوع مقداری را ذخیره می کند و نامی برای آن تعیین کنید.
همچنین در صورت لزوم می توانید مقادیر اولیه را به آن اختصاص دهید. 

بیایید یک برنامه را به عنوان مثال در نظر بگیریم
کلاس عمومی اصلی {  
    public static void main(String[] args) {  
        int a=6, b;  //دو متغیر از نوع عدد صحیح در متغیر a اعلام شد و بلافاصله مقدار 6 ذخیره شد. متغیر b روی مقدار اولیه تنظیم نشد. در این مورد چه چیزی در حافظه خواهد ماند، ما نمی دانیم.
    }
}

حالا خودت امتحان کن

بیایید سعی کنیم یک ماشین حساب برای اعداد اول بنویسیم

وظیفه ما این است که مقداری عبارت حسابی را روی صفحه نمایش دهیم و کامپیوتر را وادار کنیم آن را محاسبه کند.
به عنوان مثال: 
5+7=12
علاوه بر این، بسته به مقادیر متغیرهای a و b در برنامه، به جای 5 و 7، اعداد مختلفی می تواند وجود داشته باشد.

در دستور خروجی، می توانید نه تنها متن، بلکه مقادیر متغیرها و همچنین نتیجه یک عبارت حسابی را نمایش دهید. علاوه بر این، توالی خروجی ممکن است متفاوت باشد. برای مثال برای نمایش عبارت بالا باید آن را به صورت زیر بنویسید: <پیش> System.out.print(a+"+"+b+"="+(a+b)); اگر بخواهیم مقدار یک متغیر را نمایش دهیم، فقط باید نام آن را بدون گیومه مشخص کنیم، اگر بخواهیم نتیجه یک عبارت حسابی را نمایش دهیم، فقط کافی است عبارت حسابی را درست بنویسیم.

*** در عمق: ورودی قالب‌بندی شده ***
در رشته قالب، تعداد مشخص‌کننده‌های خروجی محدود نیست، نکته اصلی برای هر مشخص‌کننده پس از رشته قالب، فهرست کردن تمام مقادیر جدا شده با کاما است که جایگزین الگو می‌شود. به عنوان مثال: System.out.printf("%d+%d=%d",a,b,a+b); رشته قالب سه مشخص کننده را برای چاپ مقادیر صحیح به جای آن مشخص می کند.  ; دستور تعویض مستقیم است.  آن ها به جای اولین الگوی %d مقدار متغیر a نمایش داده می شود. به جای دوم -  مقدار متغیر b; و  به جای سوم - مقدار عبارت a+b و اکنون برنامه ای می نویسیم که نتیجه عملیات حسابی پایه را با این متغیرها نمایش می دهد.

برای اینکه کاربر بتواند خودش مقدار متغیر را تنظیم کند، لازم است که بتواند مقادیر را از صفحه کلید وارد کند. برای این کار از شی in استفاده می شود که به صورت زیر نوشته می شود: <پیش> Scanner in = new Scanner(System.in); اما برای اینکه کار کند، ابتدا باید آن را با استفاده از import java.util.Scanner
وارد کنید
برای به دست آوردن یک مقدار صحیح، از   in.nextInt(); استفاده کنید، که نتیجه آن باید به یک متغیر اختصاص داده شود.
به عنوان مثال،  <پیش> int a = in.nextInt();
روش های دیگری برای انواع داده های دیگر وجود دارد: 
  • next(): خط ورودی را تا اولین فاصله می خواند
  • nextLine(): کل خط ورودی را می خواند
  • nextInt(): int وارد شده را می خواند
  • nextDouble(): ورودی را دو برابر می خواند
  • nextBoolean(): یک مقدار بولی را می خواند
  • nextByte(): بایت عددی وارد شده را می خواند
  • nextFloat(): شناور وارد شده را می خواند
  • nextShort(): عدد وارد شده را کوتاه می خواند

*** مطالب عمیق: برای علاقه مندان به زبان جاوا ***
مشخص‌کننده‌های خروجی اضافی به شما امکان می‌دهند خروجی اعداد را در قالب‌های خاصی کنترل کنید.

حداقل عرض فیلد
مثال:
%04d  - عدد در 4 موقعیت نمایش داده می شود، اگر کمتر از چهار رقم باشد، اولین ها صفر خواهند بود
int a=34; System.out.printf("%04d",a); //روی صفحه: 0 0 3 4   
خط زیر به طور خاص برای نمایش تصویری خروجی عدد در اینجا قرار می گیرد.   

% 4d – به همین صورت است، اما به جای صفر، فاصله وجود خواهد داشت
int a=34; System.out.printf(“%4d”,a); //روی صفحه:      3 4 < /code>

خروجی با دقت خاصی - برای خروجی اعداد واقعی استفاده می شود. به طور پیش فرض اعداد واقعی با دقت 6 رقم اعشار نمایش داده می شوند. اما مواردی وجود دارد که باید با دقت متفاوتی خروجی داده شود. در این صورت باید مشخص کنید که چه تعداد فضای آشنایی برای خود عدد و چه تعداد بعد از نقطه اعشار اختصاص دهید.
به عنوان مثال،
%9.3f   - یک عدد واقعی در 9 موقعیت با سه رقم اعشار نمایش داده می شود.

double a=34.24356; System.out.printf("%9.3f",a); // روی صفحه: _ _ _ 3 2 . 2 4 4

بیایید سعی کنیم از این اطلاعات در عمل استفاده کنیم.

این مطالب برای مطالعه عمیق تر در نظر گرفته شده است. ما نحوه چاپ متغیرها را با استفاده از عملگر خروجی جاوا (printf) تحلیل خواهیم کرد
*** متریال عمیق ***


چگونه مقدار یک متغیر را روی صفحه نمایش دهیم؟
برای این کار، در داخل رشته فرمت در دستور خروجی، باید قالبی را مشخص کنید که در جای آن مقدار متغیر نمایش داده شود.
اینکه کدام الگو استفاده شود به نوع متغیر بستگی دارد. 
این الگوها مشخص کننده خروجی نامیده می شوند و در جدول ارائه شده اند. تعداد کافی مشخص کننده داده شده است. لازم نیست همه آنها را حفظ کنید. 
در بیشتر موارد، ما از مشخص کننده ها برای خروجی اعداد صحیح، اعداد واقعی و همچنین کاراکترها و رشته ها استفاده می کنیم. اما شما می توانید در هر زمان به این درس بازگردید و الگوی مورد نیاز خود را ببینید.
  <سر> <بدن>
کد قالب
%c نماد
%d عدد صحیح اعشاری امضا شده
%i عدد صحیح اعشاری امضا شده
%e قالب علمی (حروف کوچک e)
%E قالب علمی (بزرگ E)
%f شناور واقعی 
%g بسته به اینکه کدام قالب کوتاهتر است، %e یا %f استفاده می شود
%G بسته به اینکه کدام قالب کوتاهتر است، از %E یا %f استفاده می شود
%o هشتی امضا شده
%s رشته نویسه
%u عدد صحیح اعشاری بدون علامت
%x عدد هگزادسیمال بدون علامت (حروف کوچک)
%X عدد هگزادسیمال بدون علامت (بزرگ)
%p شاخص
%n اشاره گر به یک متغیر عدد صحیح. مشخص کننده باعث می شود که این متغیر عدد صحیح به تعداد کاراکترهای چاپ شده قبل از آن اختصاص یابد
%% % علامت                           

اضافات:
برای نمایش متغیرهایی مانند int کوتاه  اصلاح کننده h استفاده می شود (به عنوان مثال، \(\%hd\))
برای نمایش مقادیر متغیرهای نوع long int، از اصلاح کننده l استفاده کنید (به عنوان مثال، \(\%ld \))< br /> اصلاح کننده L را می توان به عنوان پیشوند قبل از تعیین کننده های e، f، g استفاده کرد. به این معنی که مقداری از نوع long double روی صفحه نمایش داده می شود.  (به عنوان مثال \(\%Lf\))

بیایید به یک مثال در عمل نگاه کنیم

 

به  خروجی یک عدد واقعی با یک نقطه به عنوان جداکننده تضمین شده است، شما باید از طرح آمریکایی استفاده کنید که با:
مرتبط است: ایجاد شد
  محلی.setDefault(محلی .ایالات متحده);